get_object_taxonomies()
Отримує таксономії запису (типу посту) або до переданого об’єкту, що відносяться до зазначеного типу.
Не робить запитів, а просто звіряє дані із глобальної змінної $wp_taxonomies .
(дуже швидко) | 50000 разів – 0.19 сек
(дуже швидко) |
PHP 7.4.25, WP 6.0.1
Хуків немає.
Повертає
Строку[]|WP_Taxonomy[]
. Усі назви або об’єкти таксономій, що стосуються зазначеного типу запису або іншого об’єкта.
Використання
get_object_taxonomies( $object, $output = 'names' );
-
$object
(рядок/рядок[]/WP_Post) (обов’язковий) - Назва типу запису, масив назв типів записів або об’єкт окремого запису (WP_Post, $post).
-
$output
(рядок) Яким чином повертати результат. Може бути:
names
– поверне лише назви таксономій
objects
– поверне об’єкти таксономійЗа замовчуванням: ‘names’
Приклади
#1 Назви таксономій для типу посту
$taxonomy_names = get_object_taxonomies( 'post'); print_r ($ taxonomy_names); /* виведе: Array ( [0] => category [1] => post_tag [2] => post_format ) */
#2 Об’єкти таксономії для посту
Аналогічний попередній приклад, який поверне таксономії, що відносяться до типу посту у вигляді об’єктів даних для кожної таксономії:
$taxonomy_objects = get_object_taxonomies( 'post', 'objects' ); print_r ($ taxonomy_objects); /* виведе: Array ( [category] => stdClass Object ( [hierarchical] => 1 [update_count_callback] => [rewrite] => [query_var] => category_name [public] => 1 [show_ui] => 1 [show_tagcloud] => 1 [_builtin] => 1 [labels] => stdClass Object ( ... ) ... [name] => category [label] => ) [post_tag] => stdClass Object ( ... ) [post_format] => stdClass Object ( .... ) ) */
#3 Назви таксономій для об’єкта запису
Щоб отримати назви таксономій, що підтримуються поточним постом, потрібно замість назви типу посту передати весь об’єкт посту:
add_action('wp_head','get_current_post_taxonomies'); function get_current_post_taxonomies(){ global $post; $taxonomy_names = get_object_taxonomies($post); print_r ($ taxonomy_names); } /* виведе: Array ( [0] => category [1] => post_tag [2] => post_format ) */
#4 Отримаємо таксономії кількох типів записів
Допустимо, у нас є два типи запису з таксономіями: post (рідний) і mypost (довільний), тоді:
$tax_names = get_object_taxonomies( array('post','mypost') ); /* $tax_names Array ( [0] => category // такса post [1] => post_tag // Такса post [2] => post_format // такса post [3] => mypost_tag // такса mypost [4] => mypost_cat // такса mypost ) */
нотатки
- Global. WP_Taxonomy[]. $wp_taxonomies The registered taxonomies.
список змін
З версії 2.3.0 | Введено. |