在“设置”下,您可以控制帖子的数量,但不能设置-1
这将是无限的帖子,但您可以设置一个非常高的数字:
但是呢just 主页
很多人通过在主页模板中添加自定义查询来解决这个问题,但这些人正在加倍WP的工作并破坏分页。这里有两种更容易、更快的方法
无限滚动如果你有很多帖子,这会更好,只加载用户可以看到的内容。当他们向下滚动时,会加载更多的帖子,因此他们永远不会到达底部(除非他们加载了所有要加载的内容)。
我建议使用Jetpack中提供的无限卷轴作为一个很好的例子,因为它适用于大多数开箱即用的主题
在获取内容之前修改主查询
pre_get_posts
是你的朋友!不要丢弃主查询并创建新查询!那太贵了,太浪费了!缓慢的取而代之的是,告诉WP你有一些修改,然后它就会去抓住帖子,例如:。
add_action( \'pre_get_posts\' function( \\WP_Query $query ) {
if ( !$query->is_main_query() || !$query->is_home() ) {
return; // this isnt the homepage, or the main query, skip!
}
$query->set( \'posts_per_page\', 100 ); // 100 posts per page on homepage
});
但是我想要
ALL 立柱——前方危险------
如果您有30篇文章,并且希望全部显示,请将每页的文章数设置为200。你永远不会达到200,但一旦达到,你的网站就不会倒塌。
您无法预测未来或客户想要什么,代码应该具有弹性。仅仅因为你可以告诉WP获取每一篇文章并不意味着它能够。在大型网站上,可能很难将每篇文章加载到内存中,数据库可能需要太长时间,或者它可能生成太多HTML,以至于浏览器无法完成加载并超时。这就是为什么category和tag UI使用自动完成,而不是一次列出所有内容。
因此,将这个数字设置得非常高,设置为一个您确信永远无法达到但您的服务器仍然可以处理的数字。
但如果你觉得特别危险,就把它设定为-1
. 这将获取所有内容,即使您的服务器无法处理太多内容。
但我只有32篇帖子,这是一个小网站
当然可以,但几年后,你的客户可能会导入5000篇帖子,因为他们需要该网站做一些现在做不到的事情。您可能有触发此场景的bug。您可能会意外地破坏导入,现在当您尝试加载它时,站点超时。您可能会在为数百篇帖子构建的其他站点上重用代码,谁知道呢?将其设置为-1
是一个坏习惯,将来会给你带来头痛和麻烦