我有一个多站点安装的wordpress。在我的起始页(index.php)上,我显示了来自该网络所有站点的帖子。我遇到的问题是,当我转到/Page/2时,如果我的主博客没有足够的帖子放在第2页上,我会收到404条消息。然而,在整个网络上,有足够的帖子可以容纳2页。如果我在我的主博客中添加更多帖子,第2页将再次可用。我猜wordpress会在查询包含索引之前检查是否存在任何帖子。php。我试图找到在哪里可以做到这一点,但没有找到任何东西。有人知道wordpress在索引之前是否做过这种检查吗。是否包含php?
404 on page 2 multisite
WordPress站点上的每个前端页面请求都会生成一个主查询。WordPress决定加载的模板基于该主查询的结果(您可以通过查看Action Reference 第页)。尽管您从未输出该查询的结果,但它仍在运行。对于分页存档,如果您尝试将该分页用于其他查询,则会出现此问题。
最好的情况是在通过pre_get_posts
但是,这对您不起作用,因为您正在查询网络帖子,据我所知WP_Query
类不能独自完成。
最简单的解决方案是将登录页设置为静态页面,而不是帖子存档。在下创建新页面Pages
管理菜单,然后访问Settings > Reading
, 及以下Front page displays
, 选择A static page
, 然后从下拉菜单中选择该页面。您现在可以对该页面分页,而无需抛出404,因为主查询将始终只包含该页面的数据,并且可能不会为空。