我有一个自定义的分类法(层次),我正在输出结果。例如,目的:
--饮料
----龙舌兰酒
------Reposado公司
------布兰科
----啤酒和;葡萄酒
------啤酒
------葡萄酒
--------红色
--------白色
--------罗斯
----威士忌
------低地
------高地
------Islay岛
我有一个循环来遍历并输出层次结构——问题是我有一个术语比其他术语(不同类型的葡萄酒:红、白、玫瑰)更深入。目前,我的循环输出每个术语的标题,因此循环将红色、白色和玫瑰色放在与其余术语相同的级别。我需要它做的是意识到一个术语的深度是3级的,然后输出一个,这样我就可以保持正确的层次结构。
所有这些都表明:有没有办法确定一个术语的深度?如果$term\\u depth=4,则执行此操作。如果$term\\u depth=4,那么是否执行此操作?
我的循环:
$theCatId = get_term_by( \'slug\', $currentslug, \'drink_cats\' );
$termID = $theCatId->term_id;
$taxonomyName = \'drink_cats\';
$termchildren = get_term_children( $termID, $taxonomyName );
$termhier = _get_term_hierarchy($taxonomyName);
if (isset($termhier[$termID])) {
foreach ($termchildren as $child) {
$term = get_term_by( \'id\', $child, $taxonomyName );
$termname = $term->name;
// loop here to get $term depth?
// level 3
echo \'<h2>\'. $termname . \'</h2>\';
// level 4 <h3>greatgrandchild</h3>
$args = array(
\'post_type\' => \'menu_drinks\',
\'orderby\' => \'menu_order\',
\'order\' => \'ASC\',
\'posts_per_page\' => -1,
\'taxonomy\' => \'drink_cats\',
\'term\' => $term->slug
);
$drink_query = get_posts( $args );
if ($drink_query) {
echo \'<ul class="drink-group">\';
foreach( $drink_query as $post ) {
setup_postdata($post);
$drinkdesc = get_field(\'drink_description\');
$drinkprice = get_field(\'drink_price\');
$drinkphoto = get_field(\'drink_photo\');
//output specific drink, description, price
?>
<li>
<h4><?php the_title(); if ($drinkprice) { echo " - $" . $drinkprice; } ?></h4>
<?php if ($drinkdesc) { ?>
<p><?php echo $drinkdesc; ?></p>
<?php }?>
</li>
<?php }
echo \'</ul>\';
}
}
}
else {
$args = array(
\'post_type\' => \'menu_drinks\',
\'orderby\' => \'menu_order\',
\'order\' => \'ASC\',
\'posts_per_page\' => -1,
\'taxonomy\' => \'drink_cats\',
\'term\' => $currentpage
);
$drink_query = get_posts( $args );
echo \'<ul class="drink-group">\';
foreach( $drink_query as $post ) :
setup_postdata($post);
$drinkdesc = get_field(\'drink_description\');
$drinkprice = get_field(\'drink_price\');
$drinkphoto = get_field(\'drink_photo\');
?>
<li>
<h4><?php the_title(); if ($drinkprice) { echo " - $" . $drinkprice; } ?></h4>
<?php if ($drinkdesc) { ?>
<p><?php echo $drinkdesc; ?></p>
<?php } ?>
</li>
<?php endforeach;
echo \'</ul>\';
}
感谢您的时间——如果有人感兴趣,我可以发送一个到开发服务器的链接,这样您就可以看到啤酒和;如果不清楚的话,葡萄酒页面现在输出。