Получить список всех идентификаторов пользовательской таксономии.

Вопрос или проблема

Я создал пользовательскую таксономию под названием Локация, а затем добавил Нью-Джерси, Нью-Йорк и так далее. Есть ли функция WordPress, которая извлекает список всех идентификаторов под Локацией, аналогично тому, что делает get_all_category_ids()?

Вы можете получить это следующим образом

$terms = get_terms("my_taxonomy");
$count = count($terms);
if ( $count > 0 )
{
    echo "<ul>";
    foreach ( $terms as $term ) 
    {
        echo "<li>" . $term->name . "</li>";
    }
    echo "</ul>";
 }

В противном случае вы также можете использовать это

$term_slug = get_query_var( 'term' );
$taxonomyName = get_query_var( 'taxonomy' );
$current_term = get_term_by( 'slug', $term_slug, $taxonomyName );
$args_list = array(
   'taxonomy' => 'item', // или используйте $taxonomyName для всех таксономий
   'show_count' => true,
   'hierarchical' => true,
   'child_of' => $current_term->term_id,
   'hide_empty' => '0',
   'title_li' => '',
   'echo' => '0',
);
echo wp_list_categories($args_list);

<?php 
$args=array(
  'name' => 'Location'
);
$output="objects"; // или объекты
$taxonomies=get_taxonomies($args,$output); 
if  ($taxonomies) {
    foreach ($taxonomies  as $taxonomy ) {

        $term = term_exists($taxonomy->name, 'Location');
            if ($term !== 0 && $term !== null) {
                echo '<p> ID ТЕРМИНА -> ' .$term.' ИМЯ ТЕРМИНА ->'.  $taxonomy->name . '</p>';
            }
    }
}  
?>

попробуйте это 😛

Ответ или решение

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

Метод 1: Использование get_terms()

Наиболее простым и прямым способом является использование функции get_terms(). Этот метод позволяет получить все термины, относящиеся к вашей кастомной таксономии.

<?php
// Укажите ваш слаг таксономии
$taxonomy = 'location'; // замените на ваш слаг таксономии

// Получаем все термины для кастомной таксономии
$terms = get_terms(array(
    'taxonomy'   => $taxonomy,
    'hide_empty' => false, // Параметр для отображения пустых терминов
));

// Проверка наличия терминов
if (!is_wp_error($terms) && !empty($terms)) {
    echo '<ul>';
    foreach ($terms as $term) {
        echo '<li>TERM ID: ' . $term->term_id . ' - NAME: ' . $term->name . '</li>';
    }
    echo '</ul>';
} else {
    echo 'Нет терминов для отображения.';
}
?>

Метод 2: Использование get_term_by()

Если вам нужно найти идентификаторы терминов по определенному слагу, можно использовать функцию get_term_by(). Этот метод требует, чтобы вы заранее знали значное значение слага и таксономии.

<?php
// Замените эти значения нужными вам
$term_slug = 'new-jersey'; // пример слага термина
$taxonomy_name = 'location';

// Получение термина по слагу
$current_term = get_term_by('slug', $term_slug, $taxonomy_name);
if ($current_term) {
    echo 'ID термина: ' . $current_term->term_id;
} else {
    echo 'Термин не найден.';
}
?>

Метод 3: Использование term_exists()

Функция term_exists() может помочь, если вы хотите проверить существование термина и получить его ID.

<?php
// Укажите нужный термин
$term = 'New Jersey'; // Название термина
$taxonomy = 'location'; // Слаг вашей кастомной таксономии

// Проверка существования термина
$term_info = term_exists($term, $taxonomy);
if ($term_info !== 0 && $term_info !== null) {
    echo 'TERM ID: ' . $term_info['term_id'] . ' - TERM NAME: ' . $term;
} else {
    echo 'Термин не найден.';
}
?>

Заключение

Выбор подходящего метода будет зависеть от ваших конкретных нужд: хотите ли вы получить все термины или найти конкретный по слагу. Функции get_terms(), get_term_by() и term_exists() предоставляют мощный инструментарий для работы с пользовательскими таксономиями в WordPress. Будьте внимательны к производительности, особенно если у вас большое количество терминов, и используйте параметры, чтобы управлять выводом согласно вашим требованиям.

Изучите, как предлагаемые методы могут быть интегрированы в вашу текущую систему для достижения максимального результата.

Оцените материал
Добавить комментарий

Капча загружается...