get_taxonomies()
Отримує список зареєстрованих таксономій. Ви можете обмежити список за потрібними параметрами.
wp_nav_menu_taxonomy_meta_boxes()
(дуже швидко) | 50000 разів – 0.10 сек
(швидкість світла) |
PHP 7.0.8, WP 4.6.1
Хуків немає.
Повертає
Строку[]|WP_Taxonomy[]
.
- масив назв, якщо параметр $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. Приймає:
or
– вибирає таксономії, у яких збігається будь-який із зазначених елементів $args.and
– вибирає таксономії, в яких збігаються всі елементи $args.
За замовчуванням: ‘and’
Приклади
#1 Виведемо на екран усі зареєстровані таксономії:
Отримаємо масив назв усіх зареєстрованих таксономій
$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>'; } } ?>
#4 Отримаємо всі таксономії, які використовуються у REST API
$rest_taxes = get_taxonomies( [ 'show_in_rest' => true ], 'names' ); print_r ($ rest_taxes); /* Array ( [category] => category [post_tag] => post_tag [nav_menu] => nav_menu [note_tag] => note_tag ) */
#5 Отримаємо таксономії типу запису
Якщо запросити таксономії з певним типом посту, наприклад, як показано нижче, будуть показані тільки таксономії, пов’язані з цим типом посту. Якщо таксономія пов’язана з кількома типами постів, вона не буде показана.
$args = [ 'object_type' => [ 'post' ] ]; $taxonomies = get_taxonomies($args); print_r ($ taxonomies); /* Array ( [category] => category [post_tag] => post_tag [post_format] => post_format ) */
Альтернативою є використання get_object_taxonomies() .
нотатки
- Global. WP_Taxonomy[]. $wp_taxonomies The registered taxonomies.
список змін
З версії 3.0.0 | Введено. |
get taxonomies WP 6.0.2
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 ); }