2012-10-07 99 views
1

我有兩個自定義帖子類型:產品和常見問題解答。產品帖子類型具有分類標準product_tag。所以現在,我想在博客和常見問題解答中搜索文本「食物」,以及那些標記爲「食物」的產品。在自定義帖子類型和特定標籤分類中搜索

這是查詢參數:

$args = array(
    'tax_query' => array(
     array(
      'taxonomy' => 'product_tag', 
      'field' => 'slug', 
      'terms' => 'food' 
     ) 
    ), 
    'post_type' => array('post', 'faq', 'product'), 
    'posts_per_page' => 6, 
    's' => 'food', 
    'paged' => $paged 
); 

但我沒有得到任何結果。如果我從代碼中刪除了tax_query數組,我會得到結果,但並不是所有的食物都是作爲標籤顯示的。它只是搜索其中的文字。

那麼,應該做些什麼修改才能在這裏找到相關的帖子?

回答

0

對於有興趣的人,這是我如何解決它:

<?php 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 

$args1 = array(
    'post_type' => array('post', 'faq'), 
    'posts_per_page' => 6, 
    's' => $problem, 
    'paged' => $paged 
); 

$args2 = array(
    'tax_query' => array(
     array(
      'taxonomy' => 'product_tag', 
      'field' => 'slug', 
      'terms' => $problem 
     ) 
    ), 
    'post_type' => 'product', 
    'posts_per_page' => 6, 
    'paged' => $paged 
); 

$articleposts = get_posts($args1); 
$productposts = get_posts($args2); 

$mergedposts = array_merge($articleposts, $productposts); 

foreach($mergedposts as $singlepost) : setup_postdata($singlepost); 
?> 
<h2><a href="<?php echo get_permalink($singlepost->ID); ?>"><?php echo $singlepost->post_title; ?></a></h2> 
<?php endforeach; ?> 
相關問題