使用短码获取不属于当前帖子的术语

时间:2013-07-17 作者:Hassan

是否可以检索自定义层次分类法中不属于当前帖子的所有术语?可能通过使用wp_get_post_terms()? 我最近偶然发现了这种不寻常的需要。

基本上,如果我的自定义分类法包含术语(term1、term2、term3等),我想在单个帖子页面中显示此帖子属于term1和term2,而不是term3等。

EDIT:我很难在短代码中实现这一点。我有以下代码:

add_shortcode( \'my-no-terms\', \'no_terms_func\' );
function no_terms_func() {
    $this_post_terms = get_the_terms( $post->ID, \'my-tax-slug\' );
    $exclude = wp_list_pluck( $this_post_terms, \'term_id\' );
    $args = array(
        \'exclude\' => $exclude, 
    );
    $terms = get_terms( \'my-tax-slug\', $args );
    foreach ( $terms as $term ) {
        return $term->name;
    }
}
但这只是输出第一个术语,而不是整个术语列表。罪犯在哪里?

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

将当前post术语的术语ID放入数组中,并将其作为exclude 参数设置为get_terms 作用

$this_post_terms = get_the_terms( $post->ID, \'your_custom_tax\' );
$exclude = wp_list_pluck( $this_post_terms, \'term_id\' );
$args = array(
    \'exclude\' => $exclude, 
);
$terms = get_terms( \'your_custom_tax\', $args );

结束

相关推荐

使用Get_the_Terms拉入分类链接?

我对获取当前帖子类别(自定义分类法公文包类别)的get\\u the\\u terms php有问题。我可以成功进入最后一类。如果查看此页面,您将看到顶部的链接:http://www.slarc.com/portfolio-view/central-control-building-east-texas/ 这些链接是通过get\\u the\\u ters\\u列表拉入的,但这些链接没有:www.slarc。com/it前面的项目。在那里我需要它跳转到一个具有相同段塞的页面。这就是为什么我开始使用下面的代