get_taxonomy()

Извлекает объект таксономии по имени таксономии
Функция WordPress
INT 2.3.0
WordPress Icon
Содержание
  1. Описание функции
  2. Примеры использования
  3. Получение объекта таксономии по имени
  4. Проверка существования таксономии
  5. Получение списка всех таксономий
  6. Получение имени таксономии по ID
  7. Получение аргументов таксономии
  8. Получение метаданных таксономии
  9. Вопросы и ответы
  10. Как получить список всех зарегистрированных таксономий?
  11. Как получить название таксономии по ее идентификатору?
  12. Как проверить существование таксономии?
  13. Как получить все объекты таксономии?
  14. Как получить список таксономий, к которым принадлежит определенный пост?
  15. Как получить список таксономий, к которым принадлежит определенный термин?
  16. Как получить список таксономий, которые принадлежат определенному посту?
  17. Как получить список таксономий, которые принадлежат определенному термину?
  18. Как получить список постов, относящихся к определенной таксономии?
  19. Связанные элементы

Описание функции

Функция get_taxonomy() возвращает объект таксономии по указанному имени таксономии. Если такой таксономии не существует, функция вернет значение false.

Таксономия — это классификационная система, используемая в WordPress для организации контента. Примерами таксономий являются категории и метки постов.

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

get_taxonomy( string $taxonomy ): WP_Taxonomy|false;

Функция get_taxonomy() принимает один обязательный параметр — имя таксономии ($taxonomy), и возвращает объект таксономии (WP_Taxonomy) или false, если такая таксономия не существует.

  • $taxonomy (string) — Обязательный. Имя таксономии, для которой нужно получить объект таксономии.

Функция возвращает объект таксономии (WP_Taxonomy) или false, если такая таксономия не существует.

<?php
$taxonomy = 'category'; // Имя таксономии
$taxonomy_object = get_taxonomy( $taxonomy ); // Получаем объект таксономии
if ( $taxonomy_object ) {
    // Если таксономия существует, выводим ее название
    echo 'Название таксономии: ' . $taxonomy_object->labels->name;
} else {
    // Если таксономия не существует, выводим сообщение об ошибке
    echo 'Таксономия не найдена.';
}
?>

В приведенном выше примере мы используем функцию get_taxonomy() для получения объекта таксономии с именем «category». Затем мы проверяем, существует ли таксономия, и если да, выводим ее название. Если таксономия не существует, выводим сообщение об ошибке.

Примеры использования

Получение объекта таксономии по имени


$taxonomy = 'category';
$taxonomy_object = get_taxonomy( $taxonomy );

В данном примере мы получаем объект таксономии с именем ‘category’ с помощью функции get_taxonomy(). Результатом выполнения функции будет объект WP_Taxonomy, представляющий таксономию ‘category’.

Проверка существования таксономии


$taxonomy = 'category';
if ( false !== get_taxonomy( $taxonomy ) ) {
    echo 'Таксономия существует.';
} else {
    echo 'Таксономия не существует.';
}

В данном примере мы проверяем существование таксономии с именем ‘category’ с помощью функции get_taxonomy(). Если таксономия существует, то выводится сообщение «Таксономия существует.», в противном случае выводится сообщение «Таксономия не существует.»

Получение списка всех таксономий


$taxonomies = get_taxonomies();
foreach ( $taxonomies as $taxonomy ) {
    echo $taxonomy . '<br>';
}

В данном примере мы получаем список всех зарегистрированных таксономий с помощью функции get_taxonomies(). Затем мы выводим каждую таксономию на отдельной строке.

Получение имени таксономии по ID


$taxonomy_id = 1;
$taxonomy_name = get_taxonomy( $taxonomy_id )->name;
echo $taxonomy_name;

В данном примере мы получаем имя таксономии с помощью ее ID. Сначала мы получаем объект таксономии с помощью функции get_taxonomy(), передавая в нее ID таксономии. Затем мы получаем имя таксономии из объекта и выводим его.

Получение аргументов таксономии


$taxonomy = 'category';
$taxonomy_args = get_taxonomy( $taxonomy )->args;
print_r( $taxonomy_args );

В данном примере мы получаем аргументы таксономии с помощью функции get_taxonomy(). Сначала мы получаем объект таксономии с именем ‘category’. Затем мы получаем аргументы таксономии из объекта с помощью свойства args и выводим их с помощью функции print_r().

Получение метаданных таксономии


$taxonomy = 'category';
$taxonomy_metadata = get_taxonomy( $taxonomy )->metadata;
print_r( $taxonomy_metadata );

В данном примере мы получаем метаданные таксономии с помощью функции get_taxonomy(). Сначала мы получаем объект таксономии с именем ‘category’. Затем мы получаем метаданные таксономии из объекта с помощью свойства metadata и выводим их с помощью функции print_r().

Вопросы и ответы

Как получить список всех зарегистрированных таксономий?

Чтобы получить список всех зарегистрированных таксономий в WordPress, вы можете использовать функцию get_taxonomies(). Она возвращает массив имен таксономий.


$taxonomies = get_taxonomies();
foreach ($taxonomies as $taxonomy) {
    echo $taxonomy . '<br>';
}

Как получить название таксономии по ее идентификатору?

Если вам нужно получить название таксономии по ее идентификатору, вы можете использовать функцию get_taxonomy(). Она возвращает объект таксономии или false, если таксономия не существует.


$taxonomy = get_taxonomy('category');
if ($taxonomy) {
    echo $taxonomy->labels->name;
} else {
    echo 'Таксономия не существует.';
}

Как проверить существование таксономии?

Если вам нужно проверить существование таксономии, вы можете использовать функцию taxonomy_exists(). Она возвращает true, если таксономия существует, и false в противном случае.


if (taxonomy_exists('post_tag')) {
    echo 'Таксономия "post_tag" существует.';
} else {
    echo 'Таксономия "post_tag" не существует.';
}

Как получить все объекты таксономии?

Для получения всех объектов таксономии в WordPress используется функция get_taxonomies(). Она возвращает массив со всеми зарегистрированными таксономиями.

$taxonomies = get_taxonomies();
foreach ($taxonomies as $taxonomy) {
    echo $taxonomy . '<br>';
}

Как получить список таксономий, к которым принадлежит определенный пост?

Чтобы получить список таксономий, к которым принадлежит определенный пост, используется функция get_object_taxonomies(). Она принимает два параметра: ID поста и тип поста (например, ‘post’ или ‘page’).

$post_id = 123;
$taxonomies = get_object_taxonomies($post_id, 'post');
foreach ($taxonomies as $taxonomy) {
    echo $taxonomy . '<br>';
}

Как получить список таксономий, к которым принадлежит определенный термин?

Для получения списка таксономий, к которым принадлежит определенный термин, используется функция get_object_taxonomies(). Она принимает два параметра: ID термина и тип таксономии (например, ‘category’ или ‘post_tag’).

$term_id = 456;
$taxonomies = get_object_taxonomies($term_id, 'category');
foreach ($taxonomies as $taxonomy) {
    echo $taxonomy . '<br>';
}

Как получить список таксономий, которые принадлежат определенному посту?

Для получения списка таксономий, которые принадлежат определенному посту, можно использовать функцию get_object_taxonomies(). Эта функция возвращает массив с именами таксономий, к которым относится указанный пост.


$post_id = 123; // ID поста
$taxonomies = get_object_taxonomies( 'post', 'names' );
foreach ( $taxonomies as $taxonomy ) {
    $terms = get_the_terms( $post_id, $taxonomy );
    if ( $terms && ! is_wp_error( $terms ) ) {
        foreach ( $terms as $term ) {
            echo '<li>' . $term->name . '</li>';
        }
    }
}

Как получить список таксономий, которые принадлежат определенному термину?

Для получения списка таксономий, которые принадлежат определенному термину, можно использовать функцию get_object_taxonomies(). Эта функция возвращает массив с именами таксономий, к которым относится указанный термин.


$term_id = 123; // ID термина
$taxonomies = get_object_taxonomies( 'term', 'names' );
foreach ( $taxonomies as $taxonomy ) {
    $terms = get_the_terms( $term_id, $taxonomy );
    if ( $terms && ! is_wp_error( $terms ) ) {
        foreach ( $terms as $term ) {
            echo '<li>' . $term->name . '</li>';
        }
    }
}

Как получить список постов, относящихся к определенной таксономии?

Для получения списка постов, относящихся к определенной таксономии, можно использовать функцию get_posts(). Эта функция возвращает массив с объектами постов, которые относятся к указанной таксономии.


$taxonomy = 'category'; // Имя таксономии
$term_id = 123; // ID термина
$args = array(
    'post_type' => 'post',
    'tax_query' => array(
        array(
            'taxonomy' => $taxonomy,
            'field'    => 'term_id',
            'terms'    => $term_id,
        ),
    ),
);
$posts = get_posts( $args );
foreach ( $posts as $post ) {
    echo '<li>' . $post->post_title . '</li>';
}

Функция get_taxonomy() возвращает объект таксономии по ее имени. Она позволяет получить информацию о таксономии, такую как название, метки, описание и другие свойства. Также функция get_taxonomy() может использоваться для проверки существования таксономии перед ее использованием в коде. Это полезно, чтобы избежать ошибок и неожиданного поведения скриптов.

Связанные элементы

  • Функция get_taxonomies(): Возвращает массив зарегистрированных таксономий.
  • Функция is_taxonomy(): Проверяет, является ли указанный объект таксономией.
  • Функция register_taxonomy(): Регистрирует новую таксономию или изменяет существующую.
  • Хук registered_taxonomy: Вызывается после успешной регистрации таксономии.
  • Хук pre_insert_term: Вызывается перед вставкой нового термина таксономии.
  • Хук created_term: Вызывается после успешного создания нового термина таксономии.
  • Хук pre_delete_term: Вызывается перед удалением термина таксономии.
  • Хук delete_term: Вызывается после успешного удаления термина таксономии.
  • Класс WP_Taxonomy: Представляет таксономию и содержит свойства и методы для работы с ней.
Обсуждение