Добрый день! Ну никак не могу догнать как же мне вставить видео с youtube в тему. Пробовал сделать это через исходный код! Но после сохранения исходный код затирает мои вставки... как так!? С изображениями та же проблема, как сделать галерею я не понял
Здравствуйте @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 активной темы и как добавить код, то прочтите один из этих инструкций:
- https://wpforo.ru/forums/postid/17/
- https://andreyex.ru/blog-platforma-wordpress/kak-bezopasno-dobavit-kod-v-functions-php-v-wordpress/
Да, и если лень заморачиваться и вам нужно не только Youtube, а и другие сервисы как Rutube, Vimeo, SoundCloud, Twitter widget ... то я бы посоветовал купить wpForo Embeds аддон: https://gvectors.com/product/wpforo-embeds/
С изображениями та же проблема, как сделать галерею я не понял
Для изображений вставьте этот код:
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/
Сижу ломаю голову как по аналогии сделать тоже самое с видео гугл диска. Там встраивается вот так:
<iframe src="https://drive.google.com/file/d/0B-Z5wMEvBS_EQVBLb19GTVVfR3c/preview" width="640" height="480"></iframe>
0B-Z5wMEvBS_EQVBLb19GTVVfR3c - изменяем идентификатор