【问题标题】:prevent wordpress from counting total posts防止 wordpress 计算总帖子数
【发布时间】:2013-04-21 09:55:09
【问题描述】:

嗨,我只想在我的首页显示 20 个帖子,所以我创建了一个函数来改变这样的查询:

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 只查询前 20 个帖子而不遍历我所有的 50 000 个帖子。

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    您不需要代码来说明您想要在首页上发布多少帖子,这是管理仪表板中的设置,此处:/wp-admin/options-reading.php

    而且 WordPress 可能不会遍历您的所有帖子来计算它们,而只会在数据库上调用 count() 函数,所以这里应该没有什么需要优化的。

    【讨论】:

    • 我想只在主页显示20个帖子,而不是在帖子数为10的类别页面中,你认为count()函数不吃资源吗?我认为 count() 至少会看起来我的 +50 000 个罐子的 ids 太多了,不是吗?
    • 我猜count的性能将取决于索引,无论如何,如果你真正想做的是改变主页并且只有主页你应该在你的主题中编写一个模板你想要什么。由于分页是您主题的一部分,所以不要将分页放在该模板中,您将不会完成任何计数。使用该模板创建一个页面后,将该页面设置为您的主页。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 2011-07-12
    • 2012-12-19
    • 1970-01-01
    • 2016-06-24
    相关资源
    最近更新 更多