我正试图从business-types
. 我是这样绕着他们转的:
<?php $terms = get_terms("business-types");
foreach ( $terms as $term ) { ?>
<div>
<img src="<?php the_field(\'category-image\', $term); ?>" alt="" />
<a href="<?php echo esc_url( get_term_link( $term ) ) ?>"><?php echo $term->name; ?></a>
</div>
<?php } ?>
这可以工作,并且列出了带有链接的名称,以及使用ACF在后端分配的图像。现在,其中一个分类法有子分类法,因此,如果单击一个有子分类法的分类法,则会显示该业务类型的子分类法。这不起作用,它只是列出了所有这些。以下是CT布局示例:
专业的,专业的,专业的,专业的,专业的,专业的,专业的,专业的,专业的,专业的,专业的professional
, retail
和hospitality
. 您单击hospitality
并使用相同的模板显示restaurants
, coffee shops
和takeaway
. 然后单击其中一个,它会列出所有带有该术语的帖子(在CPT中)。
当前,您单击hospitality
它只是列出了下面的所有内容。。。关于如何在同一个模板中实现这一多级,有什么想法吗?
编辑:它似乎正在输出所有已分配帖子的术语。。。甚至是孩子们的物品。我还需要知道如何只显示您所在学期的顶级项目。。。
干杯,阿什
SO网友:Max Yudin
这是一个方向。没有测试,但你有一个想法。
<?php
// get current term
$term = get_term_by( \'slug\', get_query_var(\'term\'), get_query_var(\'taxonomy\') );
// get parent term
$parent = get_term($term->parent, get_query_var(\'taxonomy\') );
// get children
$children = get_term_children($term->term_id, get_query_var(\'taxonomy\'));
$taxonomy = \'business-types\';
if ( empty($parent->term_id) ) {
echo \'<a href="\' . esc_url( get_term_link( $term ) ) . \'">\' . $term->name . \'</a><br />\';
$args = array(
\'child_of\' => $term->term_id,
\'taxonomy\' => $term->taxonomy,
\'hide_empty\' => 1,
\'hierarchical\' => true,
\'depth\' => 1
);
echo \'<ul>\';
wp_list_categories($args);
echo \'</ul>\';
// Subcategories
} elseif ($parent->term_id && sizeof($children) == 0) {
$subterm = get_queried_object();
// $parents = $subterm->parent; // May be will be useful in the future
// $term_id = $subterm->term_id; //May be will be useful in the future
echo \'<a href="\' . esc_url( get_term_link( $term ) ) . \'">\' . $subterm->name . \'</a><br />\';
$args = array (
\'taxonomy\' => $taxonomy,
\'pad_counts\'=> 0,
\'title_li\' => \'\',
\'child_of\' => $subterm->parent,
);
echo \'<ul>\';
wp_list_categories($args);
echo \'</ul>\';
}
对于父术语列表,您有
to go here.