Для тех, кто не знает, узнать количество меток, рубрик и так далее можно в админке, здесь же мы будем говорить непосредственно про программную часть, а именно — про wp_count_terms()
.
Итак, функция возвращает целое число, равное общему количеству элементов указанной таксономии, как я уже говорил, это могут быть рубрики (категории), метки (теги) или пользовательские таксономии.
По сути является аналогом функции get_terms() со значением параметра $args['fields']
равным count
.
wp_count_terms( $taxonomy, $args = array() )
post_tag
(метки) или movie
(собственная произвольная таксономия).fields
, order
, orderby
, hierarchical
.
И есть ещё одно отличие в параметрах, wp_count_terms()
выставляет параметр hide_empty
равным false
(то есть при подсчете учитываются также и элементы, в которых нет постов).
Давайте выясним это:
$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 соответственно
На самом деле всё делается точно так, как в примере выше. Единственное изменение — это название таксономии, у меток она называется post_tag
.
$kolichestvo_metok = wp_count_terms( 'post_tag' );
Конечно, в сравнении можно задействовать и элементы других таксономий.
$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 'Сколько рубрик, столько и меток.'; }
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Привет, Миша!
Помоги пожалуйста! У меня есть отдельный тип постов "Рецепты", где есть свои рубрики(Десерты, напитки и т.д.). Как выводить количество записей в этих рубриках?М
Привет!
Полагаю, что ответ тут.
Как подсчитать количество записей с определённой меткой?
Можно через get_posts()