仅显示孙子对象(使用GET_TERMS)

时间:2012-07-10 作者:John Schertow

我正在使用一种分级分类法(名为“world”),它有三个级别(Regions > Countries > Indigenous Peoples). 目前我正在使用a modified version of this code 在一页上对所有结果分页。

这是重要的部分

$page = ( get_query_var(\'paged\') ) ? get_query_var( \'paged\' ) : 1;
// number of tags to show per-page
$per_page = 24;
$offset = ( $page-1 ) * $per_page;
$args = array( \'number\' => $per_page, \'offset\' => $offset, \'hide_empty\' => 1,\'hierarchical \' => true
);
以及

$taxonomy = \'world\';
$tax_terms = get_terms( $taxonomy, $args );
正如所料,这将返回与我的分类法关联的所有术语的分页列表。问题是,我只需要给孙子们看看,在这种情况下,"Indigenous Peoples".

我很想手动完成,但除非绝对必要,否则我不想提供一个包含450多个术语的列表(或者排除80个术语)。

非常感谢您的帮助。

2 个回复
SO网友:Ravinder Kumar

我认为每个学期你都应该检查它是否有父母,但没有孩子

所以您的代码可能看起来像

    $taxonomy = \'world\';
    $tax_terms = get_terms( $taxonomy );
    foreach ($tax_terms as $value){
        $args=array(
            \'child_of\'=> $value->term_id,
            );
        //get all child of current term
        $child = get_terms( $taxonomy, $args );
        if( $value->parent != \'0\' && count($child) ==\'0\'){
            echo $value->slug;
            echo \'<br/>\';
            //do something because it\'s your lowest level term which have parent but not have any childern
        }
    }

SO网友:Rajeev Vyas

为什么不使用“parent“”参数get_terms

$page = ( get_query_var(\'paged\') ) ? get_query_var( \'paged\' ) : 1;
// number of tags to show per-page
$per_page = 24;
$offset = ( $page-1 ) * $per_page;
$args = array( \'number\' => $per_page, \'offset\' => $offset, \'hide_empty\' => 1,\'hierarchical \' => true,
  \'parent\'=>\'term_id of Indigenous Peoples or whatever parent\'s child you want.\'
);

$taxonomy = \'world\';
$tax_terms = get_terms( $taxonomy, $args );

结束