2013-04-21 25 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