[英]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.