get_the_taxonomies()

Извлекает все таксономии, связанные с записью
Функция WordPress
INT 2.5.0
WordPress Icon

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

Функция get_the_taxonomies() используется для получения всех таксономий, связанных с определенным постом в WordPress.

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

get_the_taxonomies( int|WP_Post $post, array $args = array() ): string[]

Функция get_the_taxonomies() принимает два параметра: $post (необязательный) и $args (необязательный).

$post — ID поста или объект WP_Post. По умолчанию используется глобальная переменная $post.

$args — аргументы, определяющие формат списка таксономий. Включает в себя два параметра: template и term_template. По умолчанию используется массив пустой.

  • $post — ID поста или объект WP_Post. По умолчанию используется глобальная переменная $post.
  • $args — аргументы, определяющие формат списка таксономий. Включает в себя два параметра: template и term_template. По умолчанию используется массив пустой.
    • template — шаблон для отображения метки таксономии и списка терминов. По умолчанию: «Метка: Термины».
    • term_template — шаблон для отображения отдельного термина в списке. По умолчанию: имя термина, связанное с его архивом.

Функция возвращает массив со списком таксономий.

<?php
  // Получение всех таксономий для текущего поста
  $taxonomies = get_the_taxonomies();
  // Проверка, есть ли таксономии
  if ( ! empty( $taxonomies ) ) {
    // Перебор всех таксономий
    foreach ( $taxonomies as $taxonomy ) {
      // Вывод метки таксономии
      echo '<h3>' . $taxonomy->label . '</h3>';
      // Получение списка терминов для данной таксономии
      $terms = get_the_terms( $post, $taxonomy->name );
      // Проверка, есть ли термины
      if ( ! empty( $terms ) ) {
        // Перебор всех терминов
        foreach ( $terms as $term ) {
          // Вывод отдельного термина
          echo '<p>' . $term->name . '</p>';
        }
      }
    }
  }
?>

В приведенном выше примере кода мы используем функцию get_the_taxonomies() для получения всех таксономий, связанных с текущим постом. Затем мы проверяем, есть ли таксономии, и если есть, перебираем их. Для каждой таксономии мы выводим метку таксономии и получаем список терминов для данной таксономии с помощью функции get_the_terms(). Затем мы перебираем все термины и выводим их на экран.

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

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


$post_id = 123; // ID поста
$taxonomies = get_the_taxonomies($post_id);
// Результат
var_dump($taxonomies);

В данном примере мы используем функцию get_the_taxonomies() для получения списка всех таксономий, связанных с постом с ID 123. Результатом выполнения функции будет массив, содержащий все таксономии, к которым относится данный пост.

Отображение списка таксономий


$post_id = 123; // ID поста
$taxonomies = get_the_taxonomies($post_id);
foreach ($taxonomies as $taxonomy) {
    echo $taxonomy . '<br>';
}

В этом примере мы используем функцию get_the_taxonomies() для получения списка всех таксономий, связанных с постом с ID 123. Затем мы перебираем полученный массив и выводим каждую таксономию на экран.

Форматирование списка таксономий


$post_id = 123; // ID поста
$taxonomies = get_the_taxonomies($post_id);
$formatted_taxonomies = implode(', ', $taxonomies);
echo $formatted_taxonomies;

В этом примере мы используем функцию get_the_taxonomies() для получения списка всех таксономий, связанных с постом с ID 123. Затем мы используем функцию implode() для объединения элементов массива в строку, разделенную запятыми. Результатом будет отформатированная строка, содержащая все таксономии, к которым относится данный пост.

Настройка шаблона отображения таксономий


$post_id = 123; // ID поста
$taxonomies = get_the_taxonomies($post_id, array(
    'template' => 'Taxonomy: Terms',
    'term_template' => 'Term: %s',
));
foreach ($taxonomies as $taxonomy) {
    echo $taxonomy . '<br>';
}

В этом примере мы используем функцию get_the_taxonomies() для получения списка всех таксономий, связанных с постом с ID 123. Мы также передаем дополнительные параметры в виде ассоциативного массива, где указываем шаблоны для отображения таксономий и терминов. В данном случае, для каждой таксономии будет выводиться строка вида «Taxonomy: Terms», а для каждого термина — «Term: %s», где %s будет заменено на название термина.

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

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

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

Параметр $post позволяет указать ID поста или объект WP_Post. Если этот параметр не указан, будет использоваться глобальная переменная $post.

Параметр $args позволяет задать дополнительные аргументы для форматирования списка таксономий. Например, можно указать шаблон для отображения метки таксономии и списка терминов.


// Пример использования функции get_the_taxonomies()
$taxonomies = get_the_taxonomies( $post, $args );

Как отформатировать список таксономий?

Для форматирования списка таксономий можно использовать параметр $args функции get_the_taxonomies(). В этом параметре можно указать шаблон для отображения метки таксономии и списка терминов.


// Пример использования параметра $args для форматирования списка таксономий
$args = array(
    'template' => 'Label: Terms.',
);
$taxonomies = get_the_taxonomies( $post, $args );

Как изменить шаблон отображения метки таксономии и списка терминов?

Для изменения шаблона отображения метки таксономии и списка терминов можно использовать параметр $args функции get_the_taxonomies(). В этом параметре нужно указать значение для ключа template.


// Пример изменения шаблона отображения метки таксономии и списка терминов
$args = array(
    'template' => 'Custom Label: Custom Terms.',
);
$taxonomies = get_the_taxonomies( $post, $args );

Как изменить шаблон отображения отдельного термина в списке?

Для изменения шаблона отображения отдельного термина в списке можно использовать параметр term_template функции get_the_taxonomies(). По умолчанию, этот параметр содержит шаблон, в котором имя термина является ссылкой на его архив. Вы можете изменить этот шаблон, чтобы отобразить термин по-другому.

Пример кода:


$args = array(
    'term_template' => 'Name: %s',
);
$taxonomies = get_the_taxonomies( $post, $args );

Как получить список таксономий без отображения?

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

Пример кода:


$taxonomies = get_the_taxonomies( $post );

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

Для получения списка терминов определенной таксономии можно использовать функцию get_the_taxonomies() с указанием параметра template. По умолчанию, этот параметр содержит шаблон, в котором отображается название таксономии и список ее терминов. Вы можете изменить этот шаблон, чтобы отобразить термины по-другому.

Пример кода:


$args = array(
    'template' => 'Taxonomy: %s',
);
$taxonomies = get_the_taxonomies( $post, $args );

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

Функция get_the_taxonomies() позволяет получить список всех таксономий, связанных с определенным постом. Она принимает два параметра: $post и $args.

Параметр $post опционален и может принимать значение ID поста или объект WP_Post. Если параметр не указан, то используется глобальная переменная $post.

Параметр $args также опционален и позволяет задать дополнительные аргументы для форматирования списка таксономий. Он может содержать следующие ключи:

  • template: строка, определяющая шаблон для отображения метки таксономии и списка терминов. По умолчанию используется «Label: Terms.»
  • term_template: строка, определяющая шаблон для отображения отдельного термина в списке. По умолчанию используется имя термина, связанное с его архивом.

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

Для получения списка таксономий для конкретного поста нужно передать ID этого поста в функцию get_the_taxonomies(). Например:


$post_id = 123;
$taxonomies = get_the_taxonomies($post_id);

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

Для получения списка таксономий для текущего поста можно использовать функцию get_the_taxonomies() без параметров. Она автоматически использует глобальную переменную $post. Например:


$taxonomies = get_the_taxonomies();

Функция get_the_taxonomies() позволяет получить список всех таксономий, связанных с определенным постом. Она принимает параметры $post и $args, которые позволяют задать конкретный пост и дополнительные аргументы для форматирования списка таксономий. Эта функция полезна для разработчиков WordPress, которые работают с таксономиями и нуждаются в получении списка таксономий для определенного поста.

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

  • Функция get_object_taxonomies(): возвращает массив зарегистрированных таксономий для указанного типа объекта.
  • Функция get_taxonomy(): возвращает объект таксономии по его имени.
  • Функция get_term(): возвращает объект термина по его ID.
  • Функция get_the_terms(): возвращает массив терминов, связанных с постом, для указанной таксономии.
  • Хук registered_taxonomy: вызывается при успешной регистрации таксономии.
  • Хук pre_get_terms: позволяет изменить аргументы запроса при получении терминов таксономии.
  • Хук get_terms: позволяет изменить аргументы запроса при получении терминов таксономии.
  • Класс WP_Taxonomy: представляет собой объект таксономии и содержит методы для работы с таксономиями.
  • Класс WP_Term: представляет собой объект термина и содержит методы для работы с терминами.
Обсуждение