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

get_taxonomies() WP 3.0.0

Получает список зарегистрированных таксономий. Можно ограничить список по нужным параметрам.

✈ 1 раз = 0.000018с = очень быстро | 50000 раз = 0.10с = скорость света PHP 7.0.8, WP 4.6.1

Хуков нет.

Возвращает

Массив.

  • массив названий - если параметр $output равен 'names'
  • массив объектов таксономий - если параметр $output равен 'objects'.

Массив объектов таксономий, представляет собой массив, описывающий подробно каждую таксономию.

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

get_taxonomies( $args, $output, $operator );
$args(массив)

Массив параметров, которым должен соответствовать результат функции, т.е. указав нужные параметры, можно получить данные только о тех таксономиях которые нам необходимы.

Параметры которые можно указать в массиве:

  • name - название таксономии;
  • object_type - (массив) к каким типам записей прикреплена таксономия;
  • hierarchical - true - покажет только древовидные таксономии;
  • show_in_nav_menus
  • cap - (объект) права;
  • label - заголовок (название таксономии);
  • labels - (объект) заголовки таксономии (различные названия);
  • singular_label
  • show_ui
  • show_tagcloud
  • public - true - получить публичные таксономии;
  • update_count_callback
  • rewrite
  • query_var
  • manage_cap
  • edit_cap
  • delete_cap
  • assign_cap
  • _builtin - false - исключить встроенные таксономии (например, category).

Полный список и что означает каждый параметр, смотрите в описании функции register_taxonomy().

По умолчанию: нет

$output(строка)

Вид в котором будет получен результат работы функции: 

  • names - Получить только названия зарегистрированных таксономий. По умолчанию.

  • objects - Получить массив объектов, содержащих полную информацию о таксономиях.

По умолчанию: "names"

$operator(строка)
Оператор который будет использоваться для множественных аргументов параметра $args. Может быть: and или or.
По умолчанию: 'and'

Примеры

#1. Получим массив названий всех зарегистрированных таксономий

$taxonomies = get_taxonomies();

1.2. Выведем на экран все зарегистрированные таксономии:

$taxonomies = get_taxonomies();
foreach( $taxonomies as $taxonomy ) {
	echo '<p>'. $taxonomy. '</p>';
}

#2. Получим только публичные таксономии

Выведем на экран список публичных ('public' => true) не встроенных таксономий (произвольных) ('_builtin' => false):

<?php
$args = array(
	'public'   => true,
	'_builtin' => false
);
$output = 'names'; // или objects
$operator = 'and'; // 'and' или 'or'

$taxonomies = get_taxonomies( $args, $output, $operator );

if( $taxonomies ){
	foreach( $taxonomies as $taxonomy ){
		echo '<p>'. $taxonomy. '</p>';
	}
}
?>

#3. Получим таксономию 'genre'

Получим таксономию с названием 'genre' ('name' => 'genre') и выведем на экран название:

<?php
$args = array(
  'name' => 'genre'
);
$output = 'objects'; // или objects
$taxonomies = get_taxonomies( $args, $output );

if( $taxonomies ) {
	foreach ( $taxonomies as $taxonomy ) {
		echo '<p>' . $taxonomy->name . '</p>';
	}
}
?>

Код get taxonomies: wp-includes/taxonomy.php WP 4.9

<?php
function get_taxonomies( $args = array(), $output = 'names', $operator = 'and' ) {
	global $wp_taxonomies;

	$field = ('names' == $output) ? 'name' : false;

	return wp_filter_object_list($wp_taxonomies, $args, $operator, $field);
}

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

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

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

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

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