2013-04-21 31 views
0

嗨,我想只有我的FrontPage中顯示20個職位,所以我創建了一個函數來改變這樣的查詢:防止WordPress的計數,約佔總帖子

if(is_front_page() && $query->is_main_query()) { 
     $query->set('post_type', array('communique-presse', 'info-algerie')); 
     $query->set('posts_per_page', '20'); 
    } 

這是工作,但我想要的是防止wordpress在計算生成分頁時的頁數。我試過$ query-> set('paged',1),$ query-> set('paged', - 1)等等......但是wordpress仍在計算頁數。

我想阻止wordpress計算總帖子來優化我的網站,因爲我有50 000 +帖子,我認爲通過禁用總帖子計數將優化查詢,所以wordpress只查詢furst 20帖子沒有遍歷我所有的5萬個帖子。

回答

1

你不需要的代碼說你想在頭版多少職位,這是在管理儀表板,在這裏設置:/wp-admin/options-reading.php

和WordPress有可能贏得不會遍歷所有帖子來計算它們,只會調用數據庫上的count()函數,所以在這裏應該沒有什麼可以優化的。

+0

我想僅在主頁上顯示20個帖子,而不是在帖子數量爲10的分類頁面中,您認爲count()函數不會消耗資源嗎?我認爲伯爵()至少會看到我的+5萬罐的ids數量太多了,不是嗎? – 2013-04-21 10:20:47

+0

我猜count的性能將取決於索引,無論如何,如果你真正想要做的是改變主頁,只有主頁,你應該在你的主題中寫一個模板,做你想做的。由於分頁是您主題的一部分,因此不要在該模板中添加分頁,而且您也不會進行任何計數。一旦你有你的模板使用該模板創建一個頁面,然後將該頁面設置爲您的主頁。 – 2013-04-21 10:27:21

+0

好的,謝謝,我會試試這個 – 2013-04-21 10:33:25