get_term()

Извлекает все данные о термине из базы данных по ID термина
Функция WordPress
INT 2.3.0
WordPress Icon

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

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

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

get_term( int|WP_Term|object $term, string $taxonomy = '', string $output = OBJECT, string $filter = 'raw' ): WP_Term|array|WP_Error|null

Эта функция принимает следующие параметры:

  • $term (обязательный): Идентификатор термина, данные которого нужно получить. Если указано целое число, то данные будут получены из базы данных или из кэша, если доступно. Если передан объект stdClass (например, результат запроса к базе данных), то будут применены фильтры и возвращен объект WP_Term с данными из $term. Если передан объект WP_Term, то будет возвращен сам $term.
  • $taxonomy (необязательный): Название таксономии, к которой относится термин. По умолчанию пустая строка.
  • $output (необязательный): Требуемый тип возвращаемого значения. Может быть одним из следующих: OBJECT (объект WP_Term), ARRAY_A (ассоциативный массив) или ARRAY_N (числовой массив). По умолчанию OBJECT.
  • $filter (необязательный): Как санитизировать поля термина. По умолчанию «raw».

Функция возвращает объект WP_Term (или массив) в случае успеха, в зависимости от значения параметра $output. Если таксономия $taxonomy не существует, возвращается объект WP_Error. В случае других ошибок возвращается null.

<?php
$term_id = 42;
$taxonomy = 'category';
// Получение объекта WP_Term по ID термина
$term = get_term( $term_id, $taxonomy );
if ( ! is_wp_error( $term ) ) {
  // Вывод информации о термине
  echo 'ID: ' . $term->term_id . '<br>';
  echo 'Название: ' . $term->name . '<br>';
  echo 'Описание: ' . $term->description . '<br>';
  // и т.д.
} else {
  echo 'Ошибка: ' . $term->get_error_message();
}
?>

В этом примере мы получаем объект WP_Term по ID термина и выводим его свойства, такие как ID, название и описание. Если произошла ошибка, выводится сообщение об ошибке.

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

Получение данных о термине по его ID


$term_id = 123;
$term = get_term( $term_id );

В данном примере мы получаем данные о термине с ID 123. Функция get_term() возвращает объект WP_Term с данными о термине.

Извлечение данных о термине из базы данных


$term_id = 123;
$taxonomy = 'category';
$term = get_term( $term_id, $taxonomy );

В этом примере мы получаем данные о термине с ID 123, который принадлежит таксономии «category». Функция get_term() извлекает данные о термине из базы данных.

Применение фильтров к объекту термина


$term_id = 123;
$term = get_term( $term_id );
// Применение фильтров к объекту термина
$term = apply_filters( 'get_term', $term, $term_id );

В этом примере мы получаем данные о термине с ID 123 и применяем фильтры к объекту термина с помощью функции apply_filters(). Это позволяет другим плагинам или темам изменять или расширять данные о термине.

Возвращение данных о термине в разных форматах


$term_id = 123;
$term = get_term( $term_id, '', ARRAY_A );

В данном примере мы получаем данные о термине с ID 123 и возвращаем их в виде ассоциативного массива. Параметр $output функции get_term() устанавливается в значение ARRAY_A.

Санитизация полей термина


$term_id = 123;
$term = get_term( $term_id );
// Санитизация полей термина
$term = sanitize_term( $term, '', 'display' );

В этом примере мы получаем данные о термине с ID 123 и санитизируем его поля с помощью функции sanitize_term(). В данном случае, мы используем фильтр 'display' для санитизации полей термина.

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

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

Функция get_term() позволяет получить все данные термина из базы данных по его ID.

Для этого необходимо передать в функцию параметр $term, который может быть целым числом, объектом WP_Term или объектом stdClass (результатом запроса к базе данных).

Также можно указать опциональный параметр $taxonomy, который указывает на название таксономии, к которой относится термин. По умолчанию этот параметр равен пустой строке.

Функция возвращает объект WP_Term (или массив), содержащий все данные термина, в зависимости от значения параметра $output. Если таксономия с указанным названием не существует, функция вернет объект WP_Error. В случае неудачи функция вернет null.


$term_id = 42;
$term = get_term( $term_id );
if ( ! is_wp_error( $term ) ) {
    echo 'Term name: ' . $term->name;
    echo 'Term slug: ' . $term->slug;
    // и так далее
}

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

Если данные термина уже находятся в кэше, функция get_term() может использовать их для получения информации о термине.

Для этого необходимо передать в функцию параметр $term в виде объекта WP_Term, содержащего данные термина.

Функция вернет объект WP_Term (или массив), содержащий все данные термина, в зависимости от значения параметра $output. Если таксономия с указанным названием не существует, функция вернет объект WP_Error. В случае неудачи функция вернет null.


$term = get_term( $term_object );
if ( ! is_wp_error( $term ) ) {
    echo 'Term name: ' . $term->name;
    echo 'Term slug: ' . $term->slug;
    // и так далее
}

Как применить фильтры к объекту WP_Term и вернуть его данные?

Функция get_term() позволяет применить фильтры к объекту WP_Term и вернуть его данные.

Для этого необходимо передать в функцию параметр $term в виде объекта stdClass, содержащего данные термина.

Функция вернет объект WP_Term, содержащий отфильтрованные данные термина.


$term_object = get_term_object_from_database();
$term = get_term( $term_object );
echo 'Term name: ' . $term->name;
echo 'Term slug: ' . $term->slug;
// и так далее

Как получить объект WP_Term, если уже имеется экземпляр WP_Term?

Если у вас уже есть экземпляр объекта WP_Term, вы можете использовать функцию get_term() для получения того же объекта.

$term = get_term( $term );

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

Для получения ассоциативного массива данных термина, установите параметр $output в значение ARRAY_A.

$term_data = get_term( $term, $taxonomy, 'ARRAY_A' );

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

Для получения числового массива данных термина, установите параметр $output в значение ARRAY_N.

$term_data = get_term( $term, $taxonomy, 'ARRAY_N' );

Как санитизировать поля данных термина?

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

$term_data = get_term( $term, $taxonomy, 'OBJECT', 'sanitize_callback' );

Функция get_term() позволяет получить данные термина из базы данных WordPress. Вы можете получить объект WP_Term, ассоциативный массив или числовой массив данных термина, а также санитизировать поля данных термина. Эта функция очень полезна для работы с терминами и таксономиями в WordPress.

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

  • Функция get_term_by(): Получает объект термина по заданным параметрам.
  • Функция get_terms(): Получает список терминов из базы данных.
  • Функция wp_get_object_terms(): Получает список терминов, связанных с определенным объектом.
  • Функция wp_set_object_terms(): Устанавливает термины для определенного объекта.
  • Функция wp_remove_object_terms(): Удаляет термины из определенного объекта.
  • Хук get_term: Вызывается перед возвратом термина из базы данных.
  • Хук get_terms: Вызывается перед возвратом списка терминов из базы данных.
Обсуждение