Intereting Posts
Как использовать shortcode извлечения в цикле? Пропустить сообщение в цикле и микшинге позже Регистрация домена в WordPress Как отключить раскрытие атрибутов страницы в wp-admin Регистрационная форма, не регистрирующая имя и фамилию тип персонализированного сообщения: собственная структура таблицы базы данных и пользовательский интерфейс «новая почта» Запрос Пользовательские сообщения той же таксономии, что и сама почта Как изменить эту форму, как описано? обновление метаданных из одной таблицы TablePress есть ли какие-либо недостатки для увеличения количества последних элементов в фиде Создание мета-полей, которые не отображаются в настраиваемых полях Шаги по переходу нескольких WordPress на многоуровневую установку? Отключить страницы авторов для определенных пользователей Связь ACF в URL-адресе Как добавить атрибуты заголовка к следующим и предыдущим функциям ссылок?

Добавление класса body, когда сообщение содержит определенный короткий код

Простая функция короткого кода:

function my_shortcode_function($atts,$content=null){ // Do something return $content; } add_shortcode('my_shortcode','my_shortcode_function'); 

Интересно, как добавить дополнительный класс тела, когда пользователь использует этот короткий код в содержимом.

Я не могу сделать что-то вроде:

 function my_shortcode_function($atts,$content=null){ // Do something add_filter('body_class','my_body_class'); return $content; } function my_body_class($classes) { $classes[] = 'foo'; return $classes; } add_shortcode('my_shortcode','my_shortcode_function'); 

Есть идеи ?

Я делаю что-то подобное в одном из моих плагинов:

 function my_body_class( $c ) { global $post; if( isset($post->post_content) && has_shortcode( $post->post_content, 'your-shortcode' ) ) { $c[] = 'your-class'; } return $c; } add_filter( 'body_class', 'my_body_class' ); 

Я не уверен, что это действительно необходимо, но я, вероятно, тоже не могу удалить его. TheDeadMedic прав, вы должны подумать, действительно ли вам нужно это делать.