Intereting Posts
Переопределить текущую настройку темы в wp_config.php Устанавливать несколько локальных приложений WordPp для доступа к папке wp-content и базе данных Создайте дополнительные области виджетов в WordPress TwentyTwelve Удалить сообщения WordPress из списка адресов sql-запроса Укажите приоритет страницы над категорией с тем же именем? Медиа-библиотека, перехватить действие пользователя Как добавить дополнительные поисковые запросы (например, синонимы) к поиску? Как отключить все admin jQuery с помощью WHMCS Изменение URL-адреса изображения из wp_get_attachment_image_src Как получить персонализированную мета-почту с помощью REST API Динамическая обрезка изображений в WP 3.0+? Карты продуктов для Twitter Как использовать аутентификацию OAuth с API REST через команды CURL? Как вызвать wp_list_comments () с обратным вызовом вне цикла что такое имя_параметра в базе данных, которое хранит информацию о текущем виджет-инициаторе в боковой панели frontend?

Как включить класс 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; }