Теги style, а также стили display:flex фильтруются в описании рубрик wordpress. Как убрать фильтры?

Ангелина Сидорова•11 августа 2026 г.

2 ответа

Ответить
0

Лучше не отключать фильтр целиком, а расширить список разрешённых тегов и атрибутов. В functions.php добавьте:

php

add_filter('wp_kses_allowed_html', 'allow_style_in_term_desc', 10, 2);

function allow_style_in_term_desc($allowed, $context) {

if ($context === 'pre_term_description') {

$allowed['style'] = ['type' => true, 'media' => true];

$allowed['div'] = isset($allowed['div']) ? $allowed['div'] : [];

$allowed['div']['style'] = true;

}

return $allowed;

}

Так вы разрешаете только style и CSS в описаниях рубрик, не трогая остальную очистку. display:flex — это просто значение внутри style, отдельно его разрешать не нужно.

Учтите: фильтр применяется только для пользователей без права unfiltered_html. Если вы администратор и всё равно видите фильтрацию, проверьте, не выводит ли тема описание через `esc_html()` или `wp_kses_post()`. В этом случае нужно править шаблон, чтобы выводить сырое значение через `term_description()`, или добавить свой фильтр на вывод.

0

У меня та же фигня была. Проще всего в functions.php темы добавить:

`remove_filter('pre_term_description', 'wp_filter_kses');`

Только учти, что это отключает всю очистку для описаний рубрик, так что если юзеры могут их редактировать – лучше только разрешить style и flex через `wp_kses_allowed_html`.

Ваш ответ

Минимум 20 символов (0/20)

, чтобы ответ был привязан к аккаунту

Похожие вопросы