Функция get_taxonomies()
в WordPress предназначена для извлечения списка зарегистрированных таксономий. Это может быть полезно для получения информации о том, какие таксономии доступны в вашей установке WordPress, а также для управления контентом.
get_taxonomies( array $args = array(), string $output = 'names', string $operator = 'and' ): string[]|WP_Taxonomy[]
Параметры
- $args (array, optional): Массив аргументов для фильтрации таксономий. По умолчанию пустой массив.
- $output (string, optional): Тип возвращаемого значения. Возможные значения:
'names'
(по умолчанию) для получения только названий таксономий или'objects'
для получения объектов таксономий. - $operator (string, optional): Логическая операция для фильтрации. Может принимать значения
'and'
(по умолчанию) или'or'
.
Возврат
Функция возвращает массив строк (названия таксономий) или массив объектов WP_Taxonomy
, содержащих информацию о таксономиях.
Описание
Функция get_taxonomies()
может использоваться для получения списка таксономий на основе определённых параметров. Это позволяет вам получать только те таксономии, которые соответствуют вашим критериям.
Пример 1: Получение всех зарегистрированных таксономий
Для получения массива названий всех зарегистрированных таксономий:
$taxonomies = get_taxonomies();
foreach( $taxonomies as $taxonomy ) {
echo '<p>' . $taxonomy . '</p>';
}
Пример 2: Получение только публичных таксономий
Если нужно вывести список только публичных (не встроенных) таксономий, используйте следующий код:
$args = array(
'public' => true,
'_builtin' => false
);
$taxonomies = get_taxonomies( $args );
if( $taxonomies ){
foreach( $taxonomies as $taxonomy ){
echo '<p>' . $taxonomy . '</p>';
}
}
Пример 3: Получение конкретной таксономии
Для получения таксономии с названием 'genre'
и вывода её названия:
$args = array(
'name' => 'genre'
);
$output = 'objects'; // Получаем объект, содержащий информацию о таксономии
$taxonomies = get_taxonomies( $args, $output );
if( $taxonomies ) {
foreach ( $taxonomies as $taxonomy ) {
echo '<p>' . $taxonomy->name . '</p>';
}
}
Пример 4: Получение таксономий, используемых в REST API
Для извлечения таксономий, которые доступны в REST API, можно использовать следующий код:
$rest_taxes = get_taxonomies( [ 'show_in_rest' => true ], 'names' );
print_r( $rest_taxes );
Пример 5: Получение таксономий для определённого типа записи
Чтобы получить таксономии, связанные с определённым типом записи, например 'post'
, используйте:
$args = [
'object_type' => [ 'post' ]
];
$taxonomies = get_taxonomies( $args );
print_r( $taxonomies );
Примечание
При использовании get_taxonomies()
для получения таксономий, связанных с определённым типом записи, учтите, что таксономии, которые связаны с несколькими типами записей, могут не отображаться.
Заключение
Функция get_taxonomies()
является мощным инструментом для работы с таксономиями в WordPress. Она позволяет разработчикам извлекать и фильтровать таксономии по различным критериям, что упрощает управление контентом.