通过slug获取多个术语ID,然后在Get_Terms中排除它们

时间:2017-06-28 作者:deathlock

我想在中排除多个术语get_terms, 但是exclude 参数仅接受术语ID。所以我必须从它的slug中获取术语id。

这就是我目前的情况:

$pres = get_term_by(\'slug\', \'president\', $cat_type);
$vice = get_term_by(\'slug\', \'vice-president\', $cat_type);
$admin = get_term_by(\'slug\', \'admin\', $cat_type);
$rnd = get_term_by(\'slug\', \'rnd\', $cat_type);

$ID_pres = $pres->term_id;
$ID_vice = $vice->term_id;
$ID_admin = $admin->term_id;
$ID_rnd = $rnd->term_id;

$terminologies = get_terms( $cat_type, array(
                    \'orderby\'   => \'term_id\',
                    \'exclude\'   => \'???\' <<<<
                ) );
我觉得这里确实有一些错误和多余的东西,但我不知道如何将它们放入可以在exclude 参数有什么帮助吗?

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

您可以使用slug 参数:

$exclude = get_terms ( 
    [ 
        \'slug\'     => [ \'president\', \'vice-president\', \'admin\', \'rnd\' ], 
        \'taxonomy\' => $cat_type,
        \'fields\'   => \'ids\',
    ] 
);
我们使用fields 参数仅返回术语ID。

结束

相关推荐

GET_TERMS在WP 4.2之后停止工作

我刚刚在我的网站上注意到,定制的分类术语已经不再流行了。我只是猜测这是在4.2更新之后发生的。以下是php:$terms = get_the_terms( $post->ID , \'bw_filters\' ); $genres = get_terms( \'bw_filters\' , array( \'child_of\' => 5 ) ); $terms_ids = array(); $genres_ids = array(); $output_te