Intereting Posts
Настройка нескольких URL-адресов изображений с помощью WordPress 'Media Uploader WordPress: упорядочить список идентификаторов post_posts query_posts, используя post__in Фоновый образ не отображается? Как увидеть предыдущий вариант -экран в теме? add_filter () не работает в цикле Скрыть комментарии, ожидающие модерации от пользователя, который отправил комментарии Создайте изображение с максимальной шириной изображения на странице Почтовые ящики WordPress В закладках и скрытых зарегистрированных страницах Изменение темы удаляет содержимое страницы в главном редакторе сообщений панели мониторинга WP отображает «some_strange_number Version» в нижнем правом углу Офлайн-приложение для WordPress Меню навигации не отображается из-за специального фильтра типа post Потяните последнее видео Youtube с json url и создайте новое сообщение Самый простой способ вызвать внешний API внешнего отдыха? wp_remote_get сохраняет тайм-аут

Добавление класса 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'); 

Есть идеи ?

Solutions Collecting From Web of "Добавление класса body, когда сообщение содержит определенный короткий код"

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

 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 прав, вы должны подумать, действительно ли вам нужно это делать.