获取没有子项的对象术语?

时间:2012-05-07 作者:AlxVallejo

其他人则询问如何parent terms, 但我需要为一个特定分类法的帖子找到最深刻的术语。

有没有办法,我只能得到子项数为0的条件?

2 个回复
最合适的回答,由SO网友:Mateusz Hajdziony 整理而成

我不久前写过这个函数,它可能有点马虎,但它确实做到了这一点:

function get_low_level_term( $taxonomy ) {
$term = null;

if( is_single() ) {
    global $post;
    $terms = get_the_terms( $post->ID, $taxonomy );

    if( count( $terms ) == 1 ) {
        foreach( $terms as $t ) {
            $term = $t;
        }
    }
    else {
        foreach( $terms as $t ) {
            if( $t->parent ) {
                $term = $t;
            }
        }
        if( !$term ) {
            $count = 0;
            foreach( $terms as $t ) {
                $term = $count == 0 ? $t : $term;
                $count ++;
            }
        }
    }
}

return $term;
}

SO网友:Alaksandar Jesus Gene

还有另一种方法可以传递参数来获取术语。这对我有用。

$args = array(
            "hide_empty" => false,
            "taxonomy" => "category_taxonomy",
            "childless" => true
        );
        $low_level_categories = get_terms($args);

结束

相关推荐

GET_TERMS没有为我的自定义分类返回任何结果吗?

如果我转到wp管理/编辑标签。php?taxonomy=位置然后我正确地看到了术语列表。如果我循环通过:get_terms(\"category\"); 然后,我正确地看到了类别分类的几个术语。我是否为同一个函数错误地创建了自定义分类法,而没有为我的分类法输出任何结果?get_terms(\"location\"); register_taxonomy(\'location\', \'post\', array( \'labels\' =>