Снова ищем одного-двух вордпрессеров в нашу команду!

wp_count_terms() — возвращает общее количество рубрик, меток или других таксономий на блоге

Для тех, кто не знает, узнать количество меток, рубрик и так далее можно в админке, здесь же мы будем говорить непосредственно про программную часть, а именно — про wp_count_terms().

количество рубрик в админке WordPress

Итак, функция возвращает целое число, равное общему количеству элементов указанной таксономии, как я уже говорил, это могут быть рубрики (категории), метки (теги) или пользовательские таксономии.

По сути является аналогом функции get_terms() со значением параметра $args['fields'] равным count.

wp_count_terms( $taxonomy, $args = array() )
$taxonomy
(строка) Имя таксономии, например post_tag (метки) или movie (собственная произвольная таксономия).
$args
(массив) Функция поддерживает параметры get_terms() за исключением естественно fields, order, orderby, hierarchical.

И есть ещё одно отличие в параметрах, wp_count_terms() выставляет параметр hide_empty равным false (то есть при подсчете учитываются также и элементы, в которых нет постов).

Пример 1. Как узнать, сколько всего рубрик на блоге.

Давайте выясним это:

$kolichestvo_rubrik = wp_count_terms( 'category' ); // присвоим значение переменной, у меня допустим это число 18
echo $kolichestvo_rubrik; // выведет 18

А теперь подсчитываем только те рубрики, в которых есть посты:

$rubriki_s_postami = wp_count_terms( 'category', array( 'hide_empty' => true ) ); // у меня допустим 15 рубрик, в которых есть посты
echo $rubriki_s_postami; // выведет 15 соответственно

Пример 2. Определим общее число тегов на сайте.

На самом деле всё делается точно так, как в примере выше. Единственное изменение — это название таксономии, у меток она называется post_tag.

$kolichestvo_metok = wp_count_terms( 'post_tag' );

Пример 3. Определяем программным способом чего больше — меток или рубрик.

Конечно, в сравнении можно задействовать и элементы других таксономий.

$kolichestvo_rubrik = wp_count_terms( 'category' ); // определили число категорий
$kolichestvo_metok = wp_count_terms( 'post_tag' ); // определили число тегов
 
if( $kolichestvo_rubrik > $kolichestvo_metok ) { // теперь просто сравниваем полученные значения
	echo 'Рубрик больше чем меток.';
} elseif( $kolichestvo_rubrik < $kolichestvo_metok ) {
	echo 'Меток больше чем рубрик.';
} else {
	echo 'Сколько рубрик, столько и меток.';
}

Миша

Впервые познакомился с WordPress в 2009 году. С 2014 года меня можно встретить на WordCamp по всему миру — официальной конфе по WordPress, иногда там выступаю. Также периодически школа Epic Skills и LoftSchool приглашают меня вести у них уроки/вебинары.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля — пишите мне.

Комментарии 2

  • Макс22 июля 2015 #

    Привет, Миша!
    Помоги пожалуйста! У меня есть отдельный тип постов "Рецепты", где есть свои рубрики(Десерты, напитки и т.д.). Как выводить количество записей в этих рубриках?М

    • Миша23 июля 2015 #

      Привет!
      Полагаю, что ответ тут.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, в случае несоблюдения этого условия в 99% случаях ваш коммент будет удалён, а автор заблокирован. Печалька.