2012-08-17 54 views
21

我必須手動安裝博客文章,但我不確定這是否是正確的工作方式,它只帶來9頁,每篇4篇文章,但博客有83篇文章!get_posts不返回所有文章

<?php 
    $paged = get_query_var('paged'); 
    $args = array(
     'numberposts'  => 4, 
     'offset'   => $paged*4, 
     'orderby'   => 'post_date', 
     'order'    => 'DESC', 
     'post_type'   => 'post', 
     'post_status'  => 'publish', 
     'suppress_filters' => true 
    ); 
    $posts_array = get_posts($args); 
?> 

無論如何。

+0

仔細檢查您的所有83個職位是「發佈」。 – Libin 2012-08-17 18:08:02

+0

是的,他們都發布了,但我注意到,它只帶有'沒有類別'的帖子,我怎麼能得到包括其他類別的所有帖子? – 2012-08-17 18:38:49

回答

71

問題是你的「numberposts」設置爲4 把它在-1得到的所有帖子:

'numberposts'  => -1, 

如果你沒有在這裏設置numberposts,WordPress會拉職位的數量從儀表板設置(在設置 - >閱讀下)

+3

男人...你救了我的一天..謝謝..順便說一句,我不設置numberposts ..但它有WP的默認值,所以我把它設置爲-1強制WP得到它 – 2015-04-28 11:56:15

+0

這是否仍然工作? – Niels 2017-10-19 09:06:37

+0

保存我的日子+1 ... – Si8 2018-01-17 17:22:06

5

以下說明來自codex section

注意:對於使用的偏移量,上述查詢應該只在 的類別,在它超過一個職位被使用,否則將沒有 輸出。

因此,爲了顯示所有帖子,每個類別至少應該有2個帖子。

您可以嘗試Loops以獲取所有帖子。也請檢查The Loop in Action