0
我有兩個分類法,我需要建立一個基於另一個分類法的術語列表。WordPress的獲取分類學術語Wordpress
分類1 - Auto_Brand
分類2 - 市
我知道我可以使用$terms = get_terms("auto_brands"); or $terms = get_terms("city");,
但如何構建代碼獲取城市只有在那個城市有連接到它的auto_brand?
我有兩個分類法,我需要建立一個基於另一個分類法的術語列表。WordPress的獲取分類學術語Wordpress
分類1 - Auto_Brand
分類2 - 市
我知道我可以使用$terms = get_terms("auto_brands"); or $terms = get_terms("city");,
但如何構建代碼獲取城市只有在那個城市有連接到它的auto_brand?
分類法不直接與其他分類法進行交互。它們只與Post對象進行交互並封裝。我能想到這樣做的唯一方法是通過使用WP_Query通過每個崗位來收集利用兩個分類的所有帖子,然後循環建立的特別條款的陣列中運行的分類查詢:
$args = array(
'post_type' => 'post',
'tax_query' => array(
'relation' => 'AND',
array('taxonomy' => 'auto_brand'),
array('taxonomy' => 'city')
)
);
$q = new WP_Query($args); //Get the posts
$found_terms = array(); //Initialize Empty Array
$taxonomies = array('auto_brand', 'city'); //Taxonomies we're checking
$args = array('fields'=>'names'); //Get only the names
foreach($q->posts as $t_post) //Begin looping through all found posts
{
$post_terms = wp_get_post_terms($t_post->ID, $taxonomies, $args);
$found_terms = array_merge($found_terms, $post_terms); //Build Terms array
}
$unique_terms = array_unique($found_terms); //Filter duplicates
這是未經測試,但它應該讓你開始朝正確的方向發展。