get_taxonomies

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

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

Хуков нет.

Возвращает
  • массив названий – если параметр $output равен ‘names’
  • массив объектов таксономий – если параметр $output равен ‘objects’.

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

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

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

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

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

  • 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).

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

$output(строка)

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

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

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

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

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

Примеры

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

<?php $taxonomies = get_taxonomies(); ?>

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

<?php
$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>';
	}
}
?>

Код из


wp-includes/taxonomy.php

WP 4.7.2

<?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);
}