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

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

Я работаю над научным журналом, в котором издатель добавляет номера в таксономию “issue”, присваиваемую статьям. Мне нужно отобразить список записей, присвоенных только последнему номеру (недавно добавленному). Помогите, пожалуйста?

Обновление:
Я нашел код для получения последнего термина из таксономии:

$issue = get_terms('issue','orderby=none&order=DESC&number=1');
$current_issue = $issue[0]->slug;

Но я не смог найти способ использовать его для отображения списка записей, присвоенных только этому последнему термину. Есть предложения, пожалуйста?

Если вы измените параметр “number” на 2 в строке:

$terms = get_terms( 'issue', 'orderby=id&order=DESC&number=1' );

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

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

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

Шаг 1: Получение последнего термина из таксономии

Вы правильно используете функцию get_terms(), чтобы получить последний термин из вашей таксономии "issue". Однако для получения последних записей нам нужно изменить некоторые параметры. Вот корректный код:

$terms = get_terms(array(
    'taxonomy' => 'issue',
    'orderby' => 'id',
    'order' => 'DESC',
    'number' => 1
));

if (!empty($terms) && !is_wp_error($terms)) {
    $current_issue_slug = $terms[0]->slug; // Получаем слаг последнего термина
}

Шаг 2: Получение публикаций, связанных с последним термином

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

$args = array(
    'post_type' => 'your_post_type', // Замените 'your_post_type' на тип ваших публикаций
    'tax_query' => array(
        array(
            'taxonomy' => 'issue',
            'field' => 'slug',
            'terms' => $current_issue_slug,
        ),
    ),
);

$query = new WP_Query($args);

if ($query->have_posts()) {
    echo '<ul>'; // Начинаем список публикаций
    while ($query->have_posts()) {
        $query->the_post();
        echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>'; // Ссылка на публикацию
    }
    echo '</ul>'; // Закрываем список
} else {
    echo 'Нет публикаций для данного выпуска.'; // Сообщение, если публикаций нет
}

// Восстанавливаем глобальные переменные после запроса
wp_reset_postdata();

Дополнительные советы

  1. Настройка терминов: Имейте в виду, что код можно модифицировать для управления параметрами получения терминов: такие как hide_empty для исключения пустых терминов или orderby для сортировки по вашему усмотрению.

  2. Оптимизация производительности: Если у вас много публикаций, подумайте о кэшировании результатов запросов для улучшения производительности.

  3. SEO: Для SEO оптимизации убедитесь, что URL вашего сайта является удобочитаемым и содержит ключевые слова, относящиеся к публикациям и вашей таксономии.

Следуя этим рекомендациям, вы сможете успешно вывести список публикаций, связанных с последним добавленным выпуском.

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

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