Для тех, кто не знает, узнать количество меток, рубрик и так далее можно в админке, здесь же мы будем говорить непосредственно про программную часть, а именно — про wp_count_terms()
.
Итак, функция возвращает целое число, равное общему количеству элементов указанной таксономии, как я уже говорил, это могут быть рубрики (категории), метки (теги) или пользовательские таксономии.
По сути является аналогом функции 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
(то есть при подсчете учитываются также и элементы, в которых нет постов).
И есть ещё одно отличие в параметрах, 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 'Сколько рубрик, столько и меток.'; }