Intereting Posts
Имеются сообщения, относящиеся к нескольким категориям, исключая некоторые категории с главной страницы URL-адрес тайны http: // # / Перечислен в XML-файле Sitemap Создано WordPress SEO от Yoast Plugin Неверный URL-адрес архива заданного типа Выбор тегов, например stackexchange? Как позволить поисковым роботам просматривать разбитые на страницы комментарии? Возможно ли сделать оболочку colorpicker-оболочку WordPress (iris) выше, а не уменьшать масштаб цветных колонок? Динамически добавлять подкатегории в любую категорию в меню Что произойдет, если я запустил 2 разных плагина Cache / Minify одновременно Изображения дают 404 после изменения домена по умолчанию Список авторов для текущей категории Сумма и количество значений настраиваемого поля Показывать продукт по окончательному членскому профилю поставщиков, присвоенный администратором Галерея WP, показывающая заголовки дважды Как получить контрольный выбор из объекта $ setting, переданного в sanitize_callback Рекомендовать интерфейс с открытым исходным кодом, основанный на шаблонах веб-сайта, который создает рабочий сайт WordPress

Как подсчитать количество терминов в таксономии

У меня есть настраиваемый тип сообщений «Сервисы». Он имеет иерархическую таксономию «категории обслуживания». Категория обслуживания имеет как родительский, так и детский условия.

Мне нужно подсчитать количество родительских терминов в таксономии. Нет сообщений. Количество терминов в таксономии используется в моем коде для компоновки страницы в рекурсивном цикле.

Все, что я исследовал, – это количество сообщений за период, а не количество терминов в таксономии. Я уверен, что мне не хватает очевидного способа сделать это, но я не сталкивался с этим.

Заранее спасибо за вашу помощь!

Solutions Collecting From Web of "Как подсчитать количество терминов в таксономии"

Как предлагает @shanebp, вы можете использовать wp_count_terms() следующим образом:

 $numTerms = wp_count_terms( 'service-category', array( 'hide_empty'=> false, 'parent' => 0 ) ); 

В приведенном выше списке будут указаны все верхние родительские термины, пустые или нет. Эта функция использует get_terms() функции get_terms() которые можно найти в ссылке или приведенных ниже аргументах:

 $args = array( 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => true, 'exclude' => array(), 'exclude_tree' => array(), 'include' => array(), 'number' => '', 'fields' => 'all', 'slug' => '', 'parent' => '', 'hierarchical' => true, 'child_of' => 0, 'get' => '', 'name__like' => '', 'description__like' => '', 'pad_counts' => false, 'offset' => '', 'search' => '', 'cache_domain' => 'core' ); 

Попробуй это. Непроверенный, но должен работать – get_the_terms возвращает массив с каждым термином, а затем sizeof () подсчитывает его, возвращая целое число. Переменная $ number вернет целое число, соответствующее числу членов.

 $terms = get_the_terms ( $post->ID, 'service-category' ); $number = sizeof ($terms); echo $number; if ( $number == XX ) { // do something }