Поделиться:
Уведомления
Очистить все

[Решено] Как вставить видео в тему или сообщение?  


Planworld
Сообщения: 4
(@planworld)
New Member
Присоединился: 6 дней назад

Добрый день! Ну никак не могу догнать как же мне вставить видео с youtube в тему. Пробовал сделать это через исходный код! Но после сохранения исходный код затирает мои вставки... как так!? С изображениями та же проблема, как сделать галерею я не понял

6 Ответов
Марк
Сообщения: 82
Admin
(@mark)
Участник
Присоединился: 1 год назад

Здравствуйте @planworld,

Вам надо добавить хук код в functions.php активной темы WordPress:

add_filter('wpforo_content_after', 'wpforo_custom_video_embed', 10);
function wpforo_custom_video_embed( $content ){
$paterns = array();
$paterns[] = "/<a[^><]+>\s*[a-zA-Z\/\/:\.]*youtube.com\/watch\?v=([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i";
$paterns[] = "/<a[^><]+>\s*[a-zA-Z\/\/:\.]*youtu.be\/([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i";
$content = preg_replace($paterns, "<iframe width=\"420\" height=\"280\" src=\"//www.youtube.com/embed/$1\" frameborder=\"0\" allowfullscreen></iframe>", $content);
return $content;
}

Если вы не знаете где найти functions.php активной темы и как добавить код, то прочтите один из этих инструкций:

 

Да, и если лень заморачиваться и вам нужно не только Youtube, а и другие сервисы как Rutube, Vimeo, SoundCloud, Twitter widget ... то я бы посоветовал купить wpForo Embeds аддон:  https://gvectors.com/product/wpforo-embeds/

wpForo Embeds header banner 2
Ответить
1 Ответить
Planworld
(@planworld)
Присоединился: 6 дней назад

New Member
Сообщения: 4

@mark Спасибо большое!

Ответить
Марк
Сообщения: 82
Admin
(@mark)
Участник
Присоединился: 1 год назад
От: @planworld

С изображениями та же проблема, как сделать галерею я не понял

Для изображений вставьте этот код:

add_filter('wpforo_content_after', 'wpforo_default_attachment_image_embed', 11);
function wpforo_default_attachment_image_embed( $content ){
if( preg_match_all('|<a class=\"wpforo\-default\-attachment\" href\=\"([^\"\']+)\"[^><]*>.+?<\/a>|is', $content, $data, PREG_SET_ORDER) ){
foreach($data as $array){
if(isset($array[1])){
$file = $array[1];
$e = strtolower(substr(strrchr($file, '.'), 1));
if( $e == 'jpg' || $e == 'jpeg' || $e == 'png' || $e == 'gif' ){
$filename = explode('/', $file); $filename = end($filename);
$html = '<a href="' . esc_url($file) . '" target="_blank"><img class="wpforo-default-image-attachment" src="' . esc_url($file) . '" alt="' . esc_attr($filename) . '" title="' . esc_attr($filename) . '" /></a>';
$content = str_replace($array[0], $html, $content);
}
}
}
}
return $content;
}

Или купите wpForo Advanced Attachments аддон:

https://gvectors.com/product/wpforo-advanced-attachments/

wpForo Advanced Attachments banner header 1

 

 

Ответить
Planworld
Сообщения: 4
(@planworld)
New Member
Присоединился: 6 дней назад

Сижу ломаю голову как по аналогии сделать тоже самое с видео гугл диска. Там встраивается вот так:

<iframe src="https://drive.google.com/file/d/0B-Z5wMEvBS_EQVBLb19GTVVfR3c/preview" width="640" height="480"></iframe>

0B-Z5wMEvBS_EQVBLb19GTVVfR3c - изменяем идентификатор 

Ответить
1 Ответить
Марк
Admin
(@mark)
Присоединился: 1 год назад

Участник
Сообщения: 82

@planworld,

попробуйте этот код:

add_filter('wpforo_content_after', 'wpforo_custom_google_drive_video_embed', 10);
function wpforo_custom_google_drive_video_embed( $content ){
$paterns = array();
$paterns[] = "#<a[^><]+>\s*[a-zA-Z\/\/:\.]*drive\.google\.com\/file\/d\/([a-zA-Z0-9\-_]+)\/preview#i";
$content = preg_replace($paterns, "<iframe width=\"640\" height=\"480\" src=\"//drive.google.com/file/d/$1/preview\" frameborder=\"0\" allowfullscreen></iframe>", $content);
return $content;
}

Ответить
Planworld
Сообщения: 4
(@planworld)
New Member
Присоединился: 6 дней назад

Спасибо @mark

Все проблемы решить помог. Всё работает 

Ответить
Поделиться: