Создание архива для терминов таксономии, а не для результатов терминов


Поэтому я пытаюсь создать первую страницу в своей иерархии навигации для выбора категорий товаров.

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

Например, если бы моей таксономией был транспорт, терминами могли бы быть автомобиль, лодка, самолет, в которых было бы описание, объясняющее, что такое автомобильная лодка или самолет. Затем каждый термин будет ссылаться на список конкретных автомобилей или что-то в этом роде.

Я создал файл с именем taxonomy-collections.php и ввел в него следующий код. Но это не помогает, может ли кто-нибудь предложить решение этой проблемы?

<?php if ( have_posts() ) : while ( have_posts() ) : the_post();

$terms = get_terms( 'collections' );

echo '<ul>';

foreach ( $terms as $term ) {

// The $term is an object, so we don't need to specify the $taxonomy.
$term_link = get_term_link( $term );

// If there was an error, continue to the next term.
if ( is_wp_error( $term_link ) ) {
    continue;
}

// We successfully got a link. Print it out.
echo '<li><a href="' . esc_url( $term_link ) . '">' . $term->name . '</a></li>';
echo  term_description($post->ID,$term);

}

echo '</ul>';

?>

<?php endwhile; else : ?>
 <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

Это почти прямо из кодекса, так что я предполагаю, что что-то упускаю.

В настоящее время в коде каждый термин отображается в виде списка, но я действительно хочу изменить его на формат сетки, если кто-то может помочь и с этим.

Таким образом, каждый термин и описание будут заключены в div и выровнены по правому краю со следующим.

Author: Pieter Goosen, 2014-08-23

1 answers

Возможно, вы захотите проверить этот пост , так как ваш пост связан с этим вопросом. Это должно объяснить большую часть вашего вопроса.

Что касается вашего кода, переместите его за пределы цикла. Ты был почти на месте со своим кодом. Проверьте get_terms в кодексе, чтобы увидеть, какие объекты вы можете использовать, это возвращается функцией. Вы можете использовать $term->description вместо term_description($post->ID,$term);, чтобы вернуть термин "описание". Измените свой код на

$terms = get_terms( 'collections' );

echo '<ul>';

foreach ( $terms as $term ) {

// The $term is an object, so we don't need to specify the $taxonomy.
$term_link = get_term_link( $term );

// If there was an error, continue to the next term.
if ( is_wp_error( $term_link ) ) {
    continue;
}

// We successfully got a link. Print it out.
echo '<li><a href="' . esc_url( $term_link ) . '">' . $term->name . '</a></li>';
echo  $term->description; // This will return the description of the term

}

echo '</ul>';
 0
Author: Pieter Goosen, 2017-04-13 12:37:48