2017-04-17 61 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一個功能,而換來的是內部邏輯錯誤的條件。我修正了它,現在查詢排除一詞按預期工作。

相關問題