2014-03-13 473 views
0

我正在開發一個「相關帖子」類插件,並希望顯示特定類別中的隨機相關帖子。這是比較容易的部分,我做這件事是這樣的:WP_Query類別和隨機帖子

$args=array(
    'category__in' => $categories, 
    'showposts' => $post_count, 
    'orderby' => 'rand', 
); 

$related_query = new WP_Query($args); 

現在我的問題是,發帖量並不總是滿足,我希望查詢始終返回指定的帖子數量。

例如,我的$ post_count是4,但我們查詢的類別只返回2個帖子。我希望其餘的隨機帖子填寫。

回答

1

最簡單的解決辦法是檢查是否返回崗位的數量等於4。如果沒有,創建上崗另一個查詢所有類別除了雞舍$categories。計數應該是(4 - the number of results from the first query)。通過這種方式,您總是可以獲得4個帖子,並且來自指定分類(y/ies)的帖子將首先顯示。

+0

謝謝。我接受這個答案,這是我最終使用的,但現在我真的很好奇,如果你可以在一個查詢中做到這一點。 – ozzysong

+0

@ozzysong我認爲它不是,因爲SQL查詢是布爾值。他們要麼在結果集中包含某些內容,要麼將其排除。 除非WordPress在WP_Query對象中實現了類似的功能,但它們可能會以類似於我的答案的方式實現。 – user1034455

+0

@ozzysong另外,我認爲這種情況很少發生(例如在一個非常新的博客上),因此如果需要執行額外的查詢,那麼這並不是什麼大事。如果您的許多類別只包含少量帖子,則使用標籤通常更好。不過,這不會解決你的問題,但;) – user1034455