Функция get_taxonomy()
в WordPress используется для получения объекта таксономии по её названию. Это позволяет разработчикам работать с метаданными и настройками конкретной таксономии, что особенно полезно при разработке кастомных тем и плагинов.
get_taxonomy( string $taxonomy ): WP_Taxonomy|false
Параметры:
- $taxonomy (string) — Обязательный. Название таксономии, которую необходимо вернуть.
Возвращаемое значение:
- Возвращает объект
WP_Taxonomy
, если таксономия существует, илиfalse
, если таксономия с указанным именем не найдена.
Примечания
Функция не возвращает список терминов, ассоциированных с таксономией. Для получения списка терминов следует использовать функцию get_terms()
или wp_list_categories()
. Кроме того, функция использует глобальную переменную $wp_taxonomies
для доступа к информации о таксономиях.
Пример 1: Получение данных таксономии
В этом примере мы получим данные о стандартной таксономии category
, которая прикреплена к типу записей post
.
add_action('wp_loaded', function() {
$category_tax = get_taxonomy('category');
if ($category_tax) {
print_r($category_tax);
} else {
echo "Таксономия не найдена.";
}
});
Ожидаемый вывод:
stdClass Object (
[labels] => stdClass Object (
[name] => Categories
[singular_name] => Category
[search_items] => Search Categories
[all_items] => All Categories
[parent_item] => Parent Category
[edit_item] => Edit Category
[update_item] => Update Category
[add_new_item] => Add New Category
[new_item_name] => New Category Name
[menu_name] => Categories
)
[public] => 1
[hierarchical] => 1
[show_ui] => 1
[show_in_menu] => 1
[show_in_nav_menus] => 1
[show_tagcloud] => 1
[meta_box_cb] => post_categories_meta_box
[rewrite] => stdClass Object (
[slug] => category
[with_front] => 1
[hierarchical] => 1
)
[query_var] => category_name
[name] => category
[object_type] => Array (
[0] => post
)
)
Пример 2: Получение кастомной таксономии
Допустим, у вас есть кастомная таксономия features
, связанная с пользовательским типом записи rentals
. В этом примере мы получим объект этой таксономии.
add_action('wp_loaded', function() {
$rental_features = get_taxonomy('features');
if ($rental_features) {
print_r($rental_features);
} else {
echo "Кастомная таксономия не найдена.";
}
});
Ожидаемый вывод:
stdClass Object (
[labels] => stdClass Object (
[name] => Features
[singular_name] => Feature
[search_items] => Search Features
[all_items] => All Features
[parent_item] => Parent Feature
[edit_item] => Edit Feature
[update_item] => Update Feature
[add_new_item] => Add New Feature
[new_item_name] => New Feature Name
[menu_name] => Features
)
[public] => 1
[hierarchical] => 0
[show_ui] => 1
[show_in_menu] => 1
[show_in_nav_menus] => 1
[show_tagcloud] => 1
[rewrite] => stdClass Object (
[slug] => features
[with_front] => 1
)
[query_var] => features
[name] => features
[object_type] => Array (
[0] => rentals
)
)
Заключение
Функция get_taxonomy()
— это мощный инструмент для получения метаданных и настроек конкретной таксономии в WordPress. Она предоставляет разработчикам возможность эффективно работать с кастомными таксономиями и изменять поведение таксономий в своих проектах.