因此,我试图在导航层次结构中构建第一个页面来选择产品类别。
我有一个称为集合的自定义分类法。我想创建一个页面,循环遍历集合分类法中的所有术语,并显示术语+链接和描述。除了下面的代码之外,我发现的几乎所有内容都是从特定的分类法创建一个帖子列表。这不是我想要的。我想要一个母版页,其中包含每个分类术语和描述,然后链接到与该术语对应的帖子。
例如,如果我的分类法是运输,术语可能是汽车、船、飞机,这些术语的描述可以解释什么是汽车、船或飞机。然后每个术语都会链接到一个特定汽车或诸如此类的列表。
我创建了一个名为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中,并与下一个向右对齐。
最合适的回答,由SO网友:Pieter Goosen 整理而成
你可能想退房this post, 因为你的帖子链接到了这个问题。这应该可以解释你的大部分问题。
至于你的代码,把它移出循环。你的代码就快到了。退房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>\';