2015-10-04 79 views
2

我正在使用查詢在我的主頁上隨機顯示1個自定義帖子類型。我試圖過濾出內容爲空的帖子,以便不在循環中顯示這些帖子。是否有可能將查詢設置爲僅顯示帖子「post_content」不爲空?我試過「meta_query」,但沒有運氣。 As covered here.Wordpress查詢只顯示內容不爲空的帖子

我也玩過其他東西,比如試圖在循環中獲取下一篇文章,如果內容是空的,但無法找到一種方法來做到這一點。

這是我試圖得到下一篇文章,如果內容是空的。但我不認爲「get_next_post();」這樣工作。

$loop = new WP_Query(array(
     'post_type' => 'custom', 
     'post_status' => 'publish', 
     'posts_per_page' => 1, 
     'orderby' => 'rand', 
     'order' => 'DESC', 
    )); 
while ($loop->have_posts()) : $loop->the_post(); 

if($post->post_content=="") { 
get_next_post(); 
} else { 
the_title(); 
the_content(); 
}; 
endwhile; 

任何意見,將不勝感激。

+0

其實我試過了,但是它似乎沒有正常工作。它開始添加其他帖子類型,並將頁面添加到我的查詢輸出中。 – jberg

+0

我只是自己試了一下,它工作正常。你確定你在其他地方沒有碰撞嗎? – Ohgodwhy

+0

無賴。我必須在其他地方發生碰撞,因爲我得到的一切都返回。頁面,文章,甚至修訂內容。實際上,除了我的自定義帖子類型以外的所有內容但永遠不會空...... ha – jberg

回答

2

像這樣基本的東西應該適合你。首先剪裁發佈的內容可確保您不會無意中僅包含空白的帖子。

while ($loop->have_posts()) : $loop->the_post(); 
    if(trim($post->post_content) !== "") { 
     the_title(); 
     the_content(); 
    }; 
endwhile; 
+0

這應該可以工作,但重複似乎是使用數據庫進行過濾(所以效率更高,沒有?) – Terminus

+0

可能,但這是我認爲的微觀優化。即使這意味着犧牲幾個時鐘週期,我也會更快地擁有更多的可讀性。 – maiorano84

+0

我不知道微優化......如果他試圖只顯示8個帖子,3個在技術上是空白的,他的方法將只顯示5個,但另一個答案的方法實際上顯示8個。 – Terminus

相關問題