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 'Сколько рубрик, столько и меток.';
}

Источник: misha.blog

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: