Создание архива для терминов таксономии, а не для результатов терминов
Поэтому я пытаюсь создать первую страницу в своей иерархии навигации для выбора категорий товаров.
У меня есть пользовательская таксономия, называемая коллекциями. Я хотел бы создать страницу, которая просматривает все термины в таксономии коллекций и отображает термин +ссылку и описание. Почти все, что я нашел, кроме приведенного ниже кода, - это создание списка сообщений из определенной таксономии. Это еще не то, чего я хочу. Мне нужна главная страница, на которой есть каждый термин таксономии с описанием, которое затем ссылается на сообщение, соответствующее этому термину.
Например, если бы моей таксономией был транспорт, терминами могли бы быть автомобиль, лодка, самолет, в которых было бы описание, объясняющее, что такое автомобильная лодка или самолет. Затем каждый термин будет ссылаться на список конкретных автомобилей или что-то в этом роде.
Я создал файл с именем 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 и выровнены по правому краю со следующим.
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>';