Intereting Posts
Архив Показывать только подкатегории (и их содержимое) текущей пользовательской таксономии с помощью «taxonomy.php» Удаление из отрывка, возвращаемого get_the_excerpt () только в некоторых местах Связанные записи автора страницы, не работающие на месте производства Почему я получаю «wp_remote-get: не удалось обработать for fopen ()»? WordPress показывает только после входа Удаление раскрывающегося списка фильтров в таблице сообщений (в данном случае Yoast SEO) Медленная скорость и высокая загрузка процессора для моего кода. Как его улучшить? Добавить шрифт Awesome Вставить CDN Script в WordPress Кому принадлежит контент, размещенный на блогах .wordpress.com? Пользовательский тип сообщения больше не показывает код, добавленный кодом? Bulk Image Uploader для создания нового сообщения с каждого изображения WooCommerce: Добавить поле Платежного шлюза в Webhooks Ошибка «Неопределенный индекс» при сохранении пустого массива с флажками Внутренняя ошибка 500: активация темы rootio и развертывание с помощью capistrano

Как включить класс css на основе столбца (в цикле)?

Я использую эту функцию для извлечения тела и отдельных классов сообщений из своих пули.

add_filter( 'post_class', 'fl_pages_bodyclass' ); add_filter('body_class','fl_pages_bodyclass'); function fl_pages_bodyclass($classes) { if (is_page() || is_single() ) { // get page slug global $post; $slug = get_post( $post )->post_name; // add slug to $classes array $classes[] = $slug; // return the $classes array return $classes; } else { return $classes; } } 

Эта функция работает нормально, но я хотел бы включить сообщения внутри циклов. Я попытался удалить if(is_ ..) . Затем он работает, но проблема возникает на странице 404 – у меня появилось сообщение «Попытка получить свойство не-объекта в», поэтому я попытался исключить страницу 404

 if (is_404() ) { return $classes; } 

Но это не сработает. Что я делаю не так? Или как включить записи в циклы?

Solutions Collecting From Web of "Как включить класс css на основе столбца (в цикле)?"

Полученная ошибка производится $slug = get_post( $post )->post_name; потому что на странице 404 нет post_name . Таким образом, чтобы предотвратить эту ошибку, вы должны структурировать функцию таким образом, чтобы она не попадала в эту строку, когда она вызывается на 404 странице. Как это:

 add_filter ('post_class', 'fl_pages_bodyclass'); add_filter ('body_class', 'fl_pages_bodyclass'); function fl_pages_bodyclass ($classes) { global $post; if (!is_404()) { $slug = get_post($post)->post_name; $classes[] = $slug; } return $classes; }