2017-04-17 62 views
0

我有一个自定义贴子(“artigo”),此CPT有一个注册分类(“artigo_eixo”),其中有3个注册条款。为什么我无法从get_terms或WP_Term_query中排除术语ID?

我想表明,在该页面,侧边栏列出了所有方面,除了目前来看,在列出所有职位与任期(http://localhost/mytaxonomy/current_term/

但是页面,我不能从查询中排除当前的术语。

我在尝试获取分类术语列表,但排除了此列表中的某个术语。我试图遵循Codex示例,但我没有成功,使用get_terms()WP_Term_query()

有3个术语,ID是13,14,15。没有包含这些ID的帖子或CPT项目。

我刚刚测试了get_queried_object_id(),它似乎正在返回正在显示的术语的正确术语ID - 也就是说,如果我正在查看ID为13的术语的URL,则该函数返回13,依此类推。

它也不能使用硬编码值,无论是字符串,整数还是任何这些类型的数组。两者都不行:

'exclude' => 14 
'exclude' => '14' 
'exclude' => array(14) 
'exclude' => array('14') 

PHP或WP调试日志没有显示任何错误。

get_terms

if (is_tax('artigo_eixo')) { 

    $current_eixo = get_queried_object_id(); 

    $args = array(
     'taxonomy' => 'artigo_eixo', 
     'exclude' => $current_eixo 
    ); 

    $eixos = get_terms($args); 

WP_Term_query

if (is_tax('artigo_eixo')) { 

    $current_eixo = get_queried_object_id(); 

    $args = array(
     'taxonomy' => array('artigo_eixo'), 
     'exclude' => $current_eixo 
    ); 

    $eixos = new WP_Term_Query($args); 
    $eixos = $eixos->terms; 

回答

0

原来有挂钩过滤list_terms_exclusions一个功能,而换来的是内部逻辑错误的条件。我修正了它,现在查询排除一词按预期工作。

相关问题