簡體   English   中英

存在多個自定義分類法時,Get_terms返回錯誤

[英]Get_terms returns error when more than one custom taxonomy exists

嗨,來自StackOverflow的人!

使用get_terms函數時出現問題:

我有一個網站設計,分為兩個級別。 對於第一個,我使用現有的Wordpress分類法“類別”,對於第二個級別,我創建了一個自定義分類法。

當用戶加載頁面時,它將獲取所有自定義的post_type“內容”,並使用帖子中設置的兩級分類法過濾結果,以僅顯示所需的內容。

我整合了自定義分類法首次出現的所有內容,但是當我添加一個新分類法時,以前的分類法不再起作用:

get_terms(); 在第二個分類法的頁面中,即使對於沒有標簽的帖子也返回我的新類別的名稱,而get_terms()在第一個類別的頁面中返回一個空數組。

當我刪除第二個類別時,問題消失了,並且第一個類別的所有帖子都重新開始工作。

問題可能出在以下事實:我不是使用自己編寫的自定義分類法,而是使用了“簡單分類法”插件,但是似乎沒有人真的在互聯網上遇到問題,因此我不確定它是否來自它。

我將向您展示出現錯誤的部分:

<ul id="contentList">
    <?php query_posts('post_type=contenus&showposts=-1');
    while ( have_posts() )
        {
            the_post();
            $rubrique = get_terms('rubrique');
                if (ucwords($actual_rubrique) == $rubrique[0]->name){
                    echo '<a href="';
                    $url = explode('?', $_SERVER['REQUEST_URI']);
                    echo $url[0];
                    echo '?tab=';
                    echo $post->ID;
                    echo '"><li>';
                    echo the_title();
                    echo '</li></a>';};?>
    <?php }; ?>
</ul>

當它起作用時,例如,對於Urbanism類別,get_terms()返回“ Urbanisme”。 (這是一個法國網站)

編輯:

我試圖改變自己的思維方式:我沒有將它放在cutsom post_type頁面上,而是將其移至page.php。 我仍然有同樣的問題:

當我只有一個術語時,網站上的每個頁面都會被加上標簽,而當有兩個頁面時,它們都占據了第二個,即使那些被選中的頁面也是如此。

我真的不明白發生了什么。 請幫忙 :/

問題解決了:

我不明白get_terms()是如何工作的。 它只是返回了我分類法中所有現有術語的數組。

為了獲得我使用過的has_terms()的實際術語:

  if (has_term($actual_rubrique, 'rubrique', $post)){ do_stuff();};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM