Как сделть, чтобы Вордпресс не удалял iframe из описания рубрик?
Как сделать так, чтобы Вордпресс не удалял теги iframe из описания рубрик при сохранении изменений?
Например, если надо добавить видео с ютуб или другого сервиса в описание рубрики. При сохранении движок удаляет тег iframe.
Может есть какой-то код для добавления в function.php для решения этой проблемы?
Дополнительно:
Из гугла
См.п.3.1 Регламента.
https://wordpress.org/plugins/visual-term-descript...
и тд
WordPress часто удаляет определенные теги HTML, такие как теги , в целях безопасности и во избежание потенциальных проблем с отображением. Однако, если вы хотите разрешить вставку тегов в описания категорий, вы можете сделать это с помощью фильтра в файле functions.php вашей темы. Вот пример того, как это сделать:
function permitir_iframes_en_descripciones_de_categoria( $allowedposttags ) { $allowedposttags['iframe'] = array( 'src' => array(), 'width' => array(), 'height' => array(), 'frameborder' => array(), 'allowfullscreen' => array(), ); return $allowedposttags; } add_filter( 'wp_kses_allowed_html', 'permitir_iframes_en_descripciones_de_categoria', 10, 1 ); |
function permitir_iframes_en_descripciones_de_categoria( $allowedposttags ) { $allowedposttags['iframe'] = array( 'src' => array(), 'width' => array(), 'height' => array(), 'frameborder' => array(), 'allowfullscreen' => array(), ); return $allowedposttags; } add_filter( 'wp_kses_allowed_html', 'permitir_iframes_en_descripciones_de_categoria', 10, 1 );
Приведенный выше код изменяет массив тегов HTML, разрешенных фильтром wp_kses_allowed_html, чтобы включить тег с его разрешенными атрибутами. Это позволит тегам сохраняться в описаниях категорий при сохранении изменений.
Обязательно добавьте этот код в файл functions.php вашей активной темы. Однако обратите внимание, что использование тегов в описаниях категорий может иметь последствия для безопасности, поэтому убедитесь, что вы доверяете источникам кода, в которые встроены iframe, и понимаете потенциальные связанные с этим риски.
Не забудьте сделать резервную копию своего сайта, прежде чем вносить какие-либо изменения в файл functions.php, и, если возможно, выполните эти тесты в среде разработки, прежде чем применять их к вашему работающему сайту.
- ЧатЖПТ?
- Refguser, ага)
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
WordPress удаляет
iframeиз описаний рубрик из-за KSES-фильтрации HTML. Это защита от XSS, поэтому просто разрешать любые iframe всем пользователям опасно. Правильнее разрешить только нужные атрибуты и, по возможности, только доверенные домены вроде YouTube/Vimeo.Минимальный вариант для администраторов можно добавить в дочернюю тему или site-specific plugin:
add_filter('wp_kses_allowed_html', function ($tags, $context) { if ($context !== 'post') { return $tags; } if (! current_user_can('unfiltered_html')) { return $tags; } $tags['iframe'] = [ 'src' => true, 'width' => true, 'height' => true, 'frameborder' => true, 'allow' => true, 'allowfullscreen' => true, 'loading' => true, 'referrerpolicy' => true, 'title' => true, ]; return $tags; }, 10, 2);
После этого проверьте сохранение описания рубрики именно под пользователем с правами администратора. Если сайт мультисайтовый, право
unfiltered_htmlможет быть ограничено даже для админа сайта.Более безопасный путь — не хранить iframe в описании рубрики, а хранить URL видео в ACF/term meta и выводить embed через
wp_oembed_get()в шаблоне рубрики. Тогда редактор не хранит произвольный HTML, а вы контролируете вывод.