2016-09-16 39 views
1

嘗試使用WP_Query和category__and顯示來自多個帖子類別的常見帖子。以下是查詢:首先使用WP_Query和category__顯示粘性帖子

$query = array(
    'category__and' => array('cat-1', 'cat-2'), 
    'posts_per_page' => 10, 
    'paged' => $paged 
    ); 

$cat_query = new WP_Query($query); 

現在在上述情況下,帖子被正確提取,但粘性帖子不會先顯示。

下面的代碼解決了這個問題,但它不執行類別帖子的「和」。

$query = array(
    'cat' => array('cat-1', 'cat-2'), 
    'posts_per_page' => 10, 
    'paged' => $paged 
    ); 

上述查詢首先顯示粘性帖子,但不對類別帖子執行「和」。

有什麼辦法可以滿足先發帖子和多發帖子的共同帖子的條件?

回答

0

你可以用這些參數來顯示粘posts-

$query_sticky = array(
    'category__and' => array('cat-1', 'cat-2'), 
    'posts_per_page' => 10, 
    'post__in' => get_option('sticky_posts'), 
    'ignore_sticky_posts' => 1, 
    'paged' => $paged 
); 
$query_sticky = new WP_Query($query_sticky); 

一旦你有這些置頂文章,你可以把它們合併在主查詢 -

$query->posts = array_merge($query->posts, $query_sticky->posts); 
$query->post = reset($query->posts); 
$query->post_count += $query_sticky->post_count; 
$query->found_posts += $query_sticky->found_posts; 
$query->max_num_pages = $query->found_posts/$query->get('posts_per_page'); 

的變量,如post_count等。需要使wordpress循環正常工作。

+0

如果查詢分頁,這會在每個頁面上的類別帖子之上附加粘性帖子。 –