父母子女分类查询

时间:2013-08-27 作者:Deon

我被困在这件事上了。我原以为我说的对,但后来意识到不是。

我有一个基于位置的自定义层次分类法。国家是最高级别的,国家是儿童。我在右侧菜单中有顶级状态,选择后,请转到该状态的分类页面。在该州页面中,右侧菜单应仅显示该州的县。相反,它正在检索状态的所有子级并显示。因为这是州的分类页面。

他们的查询是用来确定当前顶层页面并将子级显示为链接的吗?

我的当前代码如下。

$taxonomyName = "location";
//This gets top layer terms only.  This is done by setting parent to 0.  
$parent_terms = get_terms($taxonomyName, array(\'parent\' => 0, \'orderby\' => \'slug\', \'hide_empty\' => false));   
echo \'<ul>\';
foreach ($parent_terms as $pterm) {
    //Get the Child terms
    $terms = get_terms($taxonomyName, array(\'parent\' => $pterm->term_id,\'orderby\' => \'slug\', \'hide_empty\' => false));
    foreach ($terms as $term) {
        echo \'<li><h3><a href="\' . get_term_link( $term->name, $taxonomyName ) . \'">\' . $term->name . \'</h3></a></li>\';  
    }
}
echo \'</ul>\';

1 个回复
最合适的回答,由SO网友:Milo 整理而成

使用get_queried_object() 要在类别页面上获取当前查询的术语,请执行以下操作:

$this_term = get_queried_object();
$args = array(
    \'parent\' => $this_term->term_id,
    \'orderby\' => \'slug\',
    \'hide_empty\' => false
);
$child_terms = get_terms( $this_term->taxonomy, $args );
echo \'<ul>\';
foreach ($child_terms as $term) {
    echo \'<li><h3><a href="\' . get_term_link( $term->name, $this_term->taxonomy ) . \'">\' . $term->name . \'</h3></a></li>\';  
}
echo \'</ul>\';

结束

相关推荐

GET_TERMS不返回任何自定义分类

我有一个自定义的帖子类型,叫做project 调用自定义分类法tagportfolio我使用此代码生成以下两个: add_action(\'init\', \'project_custom_init\'); /*-- Custom Post Init Begin --*/ function project_custom_init() { $labels = array( \'name\' => _x(\'Project