WordPress получить термин текущая категория проблема с циклом - PullRequest
0 голосов
/ 21 октября 2019

У меня проблемы с отображением категории цикла. Нужно отображать только одну категорию в освещенных постах. Почему в первом сообщении отображаются все выбранные категории, а в следующих сообщениях уже отображается правильное отображение одной категории. Как сделать так, чтобы в первой записи отображалась только текущая выбранная категория? Мой код выглядит так. Я приложил картинку.

Моя запись пользовательского цикла

<?php
/* Start the Loop */
$args = array( 'post_type' => 'database',
               'posts_per_page' => 10,
               'paged' => $paged,
               'post_status' => 'publish',
               'ignore_sticky_posts' => true,
               'order' => 'DESC', 
               'orderby' => 'date');

$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();

Это для отображения одной категории в сообщении цикла

<?php   
// Get terms for post
$terms = wp_get_post_terms( $post->ID , 'database_categories' ,$args2);
$args2 = array( 'parent' => 39,
                'fields' => 'all');

// Loop over each item since it's an array
if ( $terms != null ) {
    foreach( $terms as $term ) {
        $term_link = get_term_link( $term, 'database_categories' );
        // Print the name and URL
        echo '<a href="' . $term_link . '">' . $term->name . '</a> ';
// Get rid of the other data stored in the object, since it's not needed
unset($term); 
    } 
} 
?>      

my loop image

1 Ответ

0 голосов
/ 22 октября 2019

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

$args2 = array('parent' => 39, 'fields' => 'all');
$terms = wp_get_post_terms( $post->ID , 'database_categories' ,$args2);

if (!empty($terms)) {
    $term = array_shift($terms);
    echo sprintf('<a href="%s">%s</a>', get_term_link( $term, 'database_categories' ), $term->name);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...