Intereting Posts
электронная почта отправляется из wordpress@domain.com, хотя у меня есть что-то другое Тема GPL 2 с использованием рамки для коммерческой темы? html id удаляется для пользователя, не являющегося администратором? Дашикон и Псевдо: до Печатать содержимое страницы с форматированием при выполнении пользовательского SQL-запроса Удаление некоторых страниц из поиска Перемещение строки через переменную Custom Post Type Plugin: Где я могу разместить шаблон? Можно ли импортировать резервную копию WordPress с одного сайта в конфигурацию с несколькими сайтами? Использовать загрузку файла WordPress в моем плагине – на интерфейсе и на сервере? создать страницу, которая отображает список категорий title + короткое описание? Помощь со страницей nav? Разный баннер для разных разделов пользовательская страница входа в систему перенаправляется на вход в страницу профиля пользователя Как просмотреть идентификаторы категории Word по умолчанию?

Проверьте, принадлежит ли сообщение какой-либо категории

В моей домашней петле у меня есть что-то, что покажет, в какой категории находится почта. Он скажет что-то вроде «Добавлено 4 часа назад в Sports by …». Однако, когда нет набора категорий, он опустит категорию (очевидно) и просто скажет «Добавлено 4 часа назад в …». Мой вопрос: как проверить, принадлежит ли сообщение какой-либо категории в WordPress.

Я знаю, что функция in_category() существует, но я бы хотел не in_category() все категории, в случае их изменения или что-то еще.

Благодаря!

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

Вы можете использовать is_object_in_term() . Несмотря на имя, он также может проверить соответствие таксономии, если условия опущены.

 is_object_in_term( get_the_ID(), 'category' ); 

Вместо того, чтобы использовать get_category() или что-то get_the_category() , попробуйте использовать get_the_category() , который просто вернет массив категорий. Затем вы можете прокручивать эти элементы и проверять, пусты ли они () или нет.

Может быть, что-то вроде:

 $categories = get_the_category( $post->ID ); if( is_array(categories) && count($categories) > 0 ) { foreach( $categories as $category ) { $categories_string .= $category . ", "; } $categories_string = rtrim(", ", $categories_string); } if( !empty( $categories_string ) ) { echo "Posted 4 hours ago in {$categories_string} by ..."; } else { echo "Posted 4 hours ago by ..."; } 

* непроверенной

используйте has_category() wp 3.1+, необходимые