自定义分页生成标题404

时间:2014-11-19 作者:Pepozzo

我知道这是一个常见问题,但我尝试了此stackexchange上出现的所有解决方案。

每个解决方案都失败了(可能是因为我还是个新手)。

我在索引上有这个查询。php页面:

if ( get_query_var(\'paged\') ) { $paged = get_query_var(\'paged\'); }
elseif ( get_query_var(\'page\') ) { $paged = get_query_var(\'page\'); }
else { $paged = 1; }
query_posts(\'cat=4,8,12&posts_per_page=5&paged=\' . $paged);
if (have_posts()) : ?><?php while(have_posts() ) : the_post() ; ?>
[...]
我启用了permalinks,还使用了一个(著名的)SEO插件。

我的文章页面URL为:http://www.mysite.com/news/page/x 其中x是分页的编号。

在前24页中,一切正常,但从第25页开始,标题变为“未找到页面”,在面包屑中,我可以看到“404”。

奇怪的是,文章仍然以正确的分页方式正确显示。

有什么建议吗?

1 个回复
SO网友:SkyShab

通常不建议使用query\\u posts。查看Codex, 它特别指出:

注意:此功能不适用于插件或主题。如后文所述,有更好、性能更好的选项来更改主查询。query\\u posts()是一种过于简单且有问题的方法,通过将页面的主查询替换为新的查询实例来修改它。它效率低下(重新运行SQL查询),并且在某些情况下会彻底失败(尤其是在处理POST分页时)。任何现代的WP代码都应该使用更可靠的方法,比如使用pre\\u get\\u posts钩子。

请注意“尤其是在处理POST分页时”部分。

我会尝试使用其他建议的方法之一重新编写代码,看看这是否会改变行为。

结束

相关推荐

Pagination Custom post type

我有一个名为“doel”的自定义帖子类型。我制作了一个页面模板来显示所有doel项目在这个页面模板中,我循环使用“doel”post类型,在其中6个之后,我想进行分页。仅显示分页。我开始上网,这似乎是wp 3.4版之后的常见问题我在这个网站和wp论坛上尝试了一些解决方案,但没有一个有效。例如,我尝试的是调整循环,因此分页将在循环中、循环外或endwhile和endif之间。此外,我还尝试了wp pagenavi插件和最初的wp previous和next post链接,但它们都不起作用,所以我认为我的循环