WordPress как на ладони
wordpress jino

wp_count_terms() WP 2.3.0

Считает сколько в таксономии элементов (терминов), с записями или без записей.

Работает на основе: get_terms()
✈ 1 раз = 0.000664с = медленно | 50000 раз = 26с = медленно

Хуков нет.

Возвращает

Массив/число/WP_Error. Сколько терминов в таксономии. WP_Error, если таксономии не существует.

Использование

wp_count_terms( $taxonomy, $args );
$taxonomy(строка) (обязательный)
Название таксономии.
$args(массив/строка)

wp_count_terms() обертка для функции get_terms() и может принимать все те же аргументы. Однако смысл имеет указывать лишь один аргумент: hide_empty. Передавать остальные параметры смысла нет. Этот параметр определяет считать ли пустые элементы таксономии:

  • hide_empty=1 - спрятать пустые элементы, значит будут подсчитаны элементы с записями.
  • hide_empty=0 - не прятать элементы, значит будут подсчитаны все элементы.

По умолчанию: array()

Примеры

#1 Посчитаем элементы таксономии 'taxa'

Демонстрация работы функции. Допустим у нас есть таксономия taxa и в ней 50 элементов с записями и 50 пустых.

// все элементы с пустыми
echo wp_count_terms( 'taxa', 'hide_empty=0' ); // > 100

// только элементы с записями
echo wp_count_terms( 'taxa', 'hide_empty=1' ); // > 50

// можно записывать в виде массива
echo wp_count_terms( 'taxa', array('hide_empty'=>1) ); // > 50

// Убедимся что такса есть
$count = wp_count_terms( 'taxa', array('hide_empty'=>1) );
if( ! is_wp_error($count) )
	echo $count; // > 50

Код wp count terms: wp-includes/taxonomy.php WP 4.8.2

<?php
function wp_count_terms( $taxonomy, $args = array() ) {
	$defaults = array('hide_empty' => false);
	$args = wp_parse_args($args, $defaults);

	// backward compatibility
	if ( isset($args['ignore_empty']) ) {
		$args['hide_empty'] = $args['ignore_empty'];
		unset($args['ignore_empty']);
	}

	$args['fields'] = 'count';

	return get_terms($taxonomy, $args);
}

Cвязанные функции

Из метки: count (подсчет количество)

Еще из раздела: Любые таксономии

wp_count_terms Комментариев нет

Здравствуйте, !

Ваш комментарий