wordpress — выполнить PHP в описании категории / тега

Мы все знаем, что существует множество плагинов и хаков, которые позволяют выполнять PHP в постах / страницах и боковых панелях.
Но как выполнить PHP в описании категории / тега в WordPress?

Я просто хочу разрешить коды PHP в описании категории / тега, чтобы их можно было отображать на страницах категории / тегов, например <?php echo category_description(); ?>,

1

Решение

По умолчанию, когда category_description() вызывается, он фильтруется по коду.
Но я предлагаю вам удалить фильтр, добавив их в functions.php темы. Попробуйте что-то вроде этого. Я использую это для тегов HTML

remove_filter( 'pre_term_description', 'wp_filter_kses' );
remove_filter( 'term_description', 'wp_kses_data' );
0

Другие решения

Самый простой способ без головной боли — использовать шорткод и отправлять все переменные в качестве атрибутов, например:

Описание категории: [php var1 = «33» var2 = «string» var3 = «array&массив&array «] содержимое шорткода [/ php].

А потом разбирать все $atts и контент делает любой PHP, который вы хотите. Чтобы включить шорткоды в описании категории, используйте:

add_filter( 'category_archive_meta', function( $content ){
return apply_filters( 'the_content', $content );
});

Тестовый шорткод:

add_shortcode( 'php', function( $atts, $content ){
return sprintf(
"<pre><code>%s\n\n%s</code></pre>",
$content,
print_r( $atts, true )
);
});

И результат, используя пример описания выше:


шорткод php

0

По вопросам рекламы [email protected]