我创建了一个函数来显示我的自定义分类(“市场”)术语。但问题是,这会两次输出第一个分类术语。以下是我的功能:
function related_markets()
{
if (\'news\' === get_post_type()) {
$terms = get_terms(array(
\'taxonomy\' => \'market\',
\'hide_empty\' => false,
));
foreach ($terms as $term) {
$term_list .= \'<a class="related-market btn btn-outline-secondary" href="\' . esc_url(get_term_link($term)) . \'">\' . $term->name . \'</a>\';
echo $term_list;
}
} elseif (\'analysis\' === get_post_type()) {
$terms = get_terms(array(
\'taxonomy\' => \'market\',
\'hide_empty\' => false,
));
foreach ($terms as $term) {
$term_list .= \'<a class="related-market btn btn-outline-secondary" href="\' . esc_url(get_term_link($term)) . \'">\' . $term->name . \'</a>\';
echo $term_list;
}
}
}
endif;
最合适的回答,由SO网友:Nilesh Chouhan 整理而成
我想你们想显示类别链接列表,对吗?但您是for each循环中的echo列表。你必须把它写在循环之外。
foreach ($terms as $term) {
$term_list .= \'<a class="related-market btn btn-outline-secondary" href="\' . esc_url(get_term_link($term)) . \'">\' . $term->name . \'</a>\';
}
echo $term_list;
也不要忘记初始化$术语列表“;函数中的第一个。:)