wp_get_term_taxonomy_parent_id()

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

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

Функция wp_get_term_taxonomy_parent_id() возвращает идентификатор родительского термина для указанного термина.

Термин в WordPress представляет собой категорию, метку или другой тип таксономии, используемый для классификации контента. Каждый термин может иметь родительский термин, который определяет его иерархическую структуру.

Функция wp_get_term_taxonomy_parent_id() позволяет получить идентификатор родительского термина для указанного термина в заданной таксономии.

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

wp_get_term_taxonomy_parent_id( int $term_id, string $taxonomy ): int|false;

Функция wp_get_term_taxonomy_parent_id() принимает два обязательных параметра:

  • $term_id (int) — Идентификатор термина, для которого нужно получить родительский термин.
  • $taxonomy (string) — Название таксономии, в которой находится термин.

Функция возвращает идентификатор родительского термина (int) в случае успеха или false в случае ошибки.

<?php
$term_id = 123; // Идентификатор термина
$taxonomy = 'category'; // Название таксономии
$parent_id = wp_get_term_taxonomy_parent_id( $term_id, $taxonomy );
if ( $parent_id ) {
  echo 'Родительский термин: ' . $parent_id;
} else {
  echo 'Родительский термин не найден.';
}
?>

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

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

Получение родительского термина по ID


/**
 * Получает родительский термин по ID.
 *
 * @param int $term_id ID термина.
 * @param string $taxonomy Название таксономии.
 * @return int|false ID родительского термина в случае успеха, false в случае ошибки.
 */
function get_parent_term_by_id( $term_id, $taxonomy ) {
    $parent_id = wp_get_term_taxonomy_parent_id( $term_id, $taxonomy );
    return $parent_id;
}
// Пример использования
$term_id = 123;
$taxonomy = 'category';
$parent_term_id = get_parent_term_by_id( $term_id, $taxonomy );
if ( $parent_term_id ) {
    echo 'ID родительского термина: ' . $parent_term_id;
} else {
    echo 'Родительский термин не найден.';
}

Определение родительской таксономии по ID


/**
 * Определяет родительскую таксономию по ID термина.
 *
 * @param int $term_id ID термина.
 * @param string $taxonomy Название таксономии.
 * @return string|false Название родительской таксономии в случае успеха, false в случае ошибки.
 */
function get_parent_taxonomy_by_id( $term_id, $taxonomy ) {
    $parent_id = wp_get_term_taxonomy_parent_id( $term_id, $taxonomy );
    if ( $parent_id ) {
        $parent_taxonomy = get_taxonomy( $taxonomy )->parent;
        return $parent_taxonomy;
    } else {
        return false;
    }
}
// Пример использования
$term_id = 123;
$taxonomy = 'category';
$parent_taxonomy = get_parent_taxonomy_by_id( $term_id, $taxonomy );
if ( $parent_taxonomy ) {
    echo 'Родительская таксономия: ' . $parent_taxonomy;
} else {
    echo 'Родительская таксономия не найдена.';
}

Поиск родительского термина по названию


/**
 * Ищет родительский термин по названию.
 *
 * @param string $term_name Название термина.
 * @param string $taxonomy Название таксономии.
 * @return int|false ID родительского термина в случае успеха, false в случае ошибки.
 */
function get_parent_term_by_name( $term_name, $taxonomy ) {
    $term = get_term_by( 'name', $term_name, $taxonomy );
    if ( $term ) {
        $parent_id = wp_get_term_taxonomy_parent_id( $term->term_id, $taxonomy );
        return $parent_id;
    } else {
        return false;
    }
}
// Пример использования
$term_name = 'Child Term';
$taxonomy = 'category';
$parent_term_id = get_parent_term_by_name( $term_name, $taxonomy );
if ( $parent_term_id ) {
    echo 'ID родительского термина: ' . $parent_term_id;
} else {
    echo 'Родительский термин не найден.';
}

Определение родительской таксономии по названию


/**
 * Определяет родительскую таксономию по названию термина.
 *
 * @param string $term_name Название термина.
 * @param string $taxonomy Название таксономии.
 * @return string|false Название родительской таксономии в случае успеха, false в случае ошибки.
 */
function get_parent_taxonomy_by_name( $term_name, $taxonomy ) {
    $term = get_term_by( 'name', $term_name, $taxonomy );
    if ( $term ) {
        $parent_id = wp_get_term_taxonomy_parent_id( $term->term_id, $taxonomy );
        if ( $parent_id ) {
            $parent_taxonomy = get_taxonomy( $taxonomy )->parent;
            return $parent_taxonomy;
        } else {
            return false;
        }
    } else {
        return false;
    }
}
// Пример использования
$term_name = 'Child Term';
$taxonomy = 'category';
$parent_taxonomy = get_parent_taxonomy_by_name( $term_name, $taxonomy );
if ( $parent_taxonomy ) {
    echo 'Родительская таксономия: ' . $parent_taxonomy;
} else {
    echo 'Родительская таксономия не найдена.';
}

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

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

Для получения ID родительского термина для заданного термина и таксономии в WordPress можно использовать функцию wp_get_term_taxonomy_parent_id(). Эта функция принимает два обязательных параметра: $term_id — ID термина, и $taxonomy — название таксономии.

Пример использования функции:


$term_id = 123;
$taxonomy = 'category';
$parent_id = wp_get_term_taxonomy_parent_id( $term_id, $taxonomy );

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

Для проверки существования родительского термина для заданного термина и таксономии в WordPress можно использовать функцию wp_get_term_taxonomy_parent_id(). Эта функция возвращает ID родительского термина, если он существует, или false, если родительский термин не найден.

Пример использования функции:


$term_id = 123;
$taxonomy = 'category';
$parent_id = wp_get_term_taxonomy_parent_id( $term_id, $taxonomy );
if ( $parent_id !== false ) {
    // Родительский термин существует
} else {
    // Родительский термин не найден
}

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

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

Пример использования функции:


$term_id = 123;
$taxonomy = 'category';
$parent_id = wp_get_term_taxonomy_parent_id( $term_id, $taxonomy );
if ( $parent_id !== false ) {
    $parent_term = get_term( $parent_id, $taxonomy );
    // Действия с родительским термином
}

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

Для этого можно использовать функцию wp_get_term_taxonomy_parent_id(). Она возвращает ID родительского термина, если он существует, или false в случае ошибки.

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


$term_id = 42;
$taxonomy = 'category';
$parent_id = wp_get_term_taxonomy_parent_id($term_id, $taxonomy);
if ($parent_id !== false) {
    echo 'Термин имеет родительский термин с ID: ' . $parent_id;
} else {
    echo 'Термин не имеет родительского термина.';
}

Как получить ID родительского термина для заданного термина и таксономии без использования функции wp_get_term_taxonomy_parent_id()?

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

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


$term_id = 42;
$taxonomy = 'category';
$term = get_term($term_id, $taxonomy);
if (!is_wp_error($term) && $term->parent !== 0) {
    echo 'ID родительского термина: ' . $term->parent;
} else {
    echo 'Термин не имеет родительского термина.';
}

Как получить родительский термин для заданного термина и таксономии без использования функции wp_get_term_taxonomy_parent_id()?

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

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


$term_id = 42;
$taxonomy = 'category';
$term = get_term($term_id, $taxonomy);
if (!is_wp_error($term) && $term->parent !== 0) {
    $parent_term = get_term($term->parent, $taxonomy);
    
    if (!is_wp_error($parent_term)) {
        echo 'Родительский термин: ' . $parent_term->name;
    } else {
        echo 'Не удалось получить родительский термин.';
    }
} else {
    echo 'Термин не имеет родительского термина.';
}

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

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


$term_id = 42;
$taxonomy = 'category';
$parent_id = wp_get_term_taxonomy_parent_id( $term_id, $taxonomy );
if ( $parent_id ) {
    echo 'ID родительского термина: ' . $parent_id;
} else {
    echo 'Родительский термин не найден.';
}

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

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


$term_id = 42;
$taxonomy = 'category';
$children = get_term_children( $term_id, $taxonomy );
if ( ! empty( $children ) ) {
    echo 'ID дочерних терминов: ' . implode( ', ', $children );
} else {
    echo 'Дочерние термины не найдены.';
}

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

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


$parent_term_id = 42;
$child_term_id = 43;
$taxonomy = 'category';
if ( term_is_ancestor_of( $parent_term_id, $child_term_id, $taxonomy ) ) {
    echo 'Заданный термин является родительским.';
} else {
    echo 'Заданный термин не является родительским.';
}

Функция wp_get_term_taxonomy_parent_id() позволяет получить ID родительского термина для заданного термина и таксономии. Для получения только дочерних терминов или проверки является ли заданный термин родительским, можно использовать другие функции, такие как get_term_children() и term_is_ancestor_of(). Эти функции помогут вам эффективно работать с таксономиями в WordPress.

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

  • Функция wp_set_post_terms(): Устанавливает термины для указанного поста.
  • Функция wp_get_post_terms(): Возвращает термины, связанные с указанным постом.
  • Функция wp_get_object_terms(): Возвращает термины, связанные с указанным объектом.
  • Функция wp_insert_term(): Вставляет новый термин в таксономию.
  • Функция wp_update_term(): Обновляет существующий термин таксономии.
  • Функция wp_delete_term(): Удаляет указанный термин таксономии.
  • Хук created_term: Вызывается после создания нового термина таксономии.
  • Хук delete_term: Вызывается перед удалением термина таксономии.
  • Класс WP_Term: Представляет термин таксономии.
Обсуждение