当我点击我的自定义文章中的分页链接类型“作品”的文章列表(或输入一个URL,如“mysite.com/works/page/2”),我得到404页。WordPress自定义文章类型分页链接返回404
普通帖子类型分页(博客)工作正常。另外,关于我的自定义帖子类型“作品”的一切似乎都很好。
我的模板works.php文件中有这样的:
get_home_pagination();
$args = array('post_type' => 'works', 'posts_per_page' => 10, 'paged' => $paged); $wp_query = new WP_Query($args);
if ($wp_query->have_posts()) :
while ($wp_query->have_posts()) : $wp_query->the_post(); get_template_part('loop', 'works'); endwhile;
else : _e('Nothing here.'); endif;
相同的代码(替换型后,当然)在模板blog.php的,其中分页链接正常工作时使用。
然后在functions.php中我有:
function get_home_pagination() {
global $paged, $wp_query, $wp; $args = wp_parse_args($wp->matched_query);
if (!empty ($args['paged']) && 0 == $paged) {
$wp_query->set('paged', $args['paged']); $paged = $args['paged'];
} }
有那么一刻我以为那是在发生,因为WordPress无法找到回路中的任何讯息:它试图在获得那个职位ID没有帖子,如post-template.php的第29行。但后来我意识到这一点:
如果我输入,例如,URL“(...)/ blog/page/456”,博客模板加载消息“Nothing here”。没有404错误页面。
另一方面,URL“works/page/2”,我希望返回一些帖子,结束于404错误页面。
为什么?
编辑:
在404页我也收到此错误:
Trying to get property of non-object in (…)/wordpress/wp-includes/post-template.php on the line 29.
...但它可能不会涉及到分页问题。我设法删除导致此错误的代码(来自我自定义的插件),而分页仍然无效。
编辑:
这是我得到的调试URL mysite.com/trabalhos/pagina/2与调试,该插件。这似乎是非常错误的:
观测数据:trabalhos =作品,pagina =页
Matched Rule: trabalhos/([^/]+)(/[0-9]+)?/?$
Matched Query: works=pagina&page=%2F2
Query String: page=%2F2&name=pagina&post_type=works&works=pagina&debug-this=rewrites
在我的理解中,URL mysite.com/trabalhos/pagina/2应指向以下网址(除非它不工作 - 但如果我取代“消息报”“trabalhos” - 我塞了“博客” - 它的工作原理):
mysite.com/trabalhos/pagina/2/?pagename=trabalhos
然而,URL mysite的。COM/trabalhos/pagina/2点这个奇怪的网址:
mysite.com/trabalhos/pagina/2?page=%2F2&works=pagina&post_type=works&name=pagina
令人奇怪的是,下面的URL指向正好到我期待的内容,也就是作品的第2页(trabalhos):
mysite.com/noticias/pagina/2/?pagename=trabalhos
我似乎接近解决方案...但我试图停用所有插件,删除几乎所有主题的PHP代码,每次重置管理面板中的固定链接设置等等,并且错误仍然存在。
它是否有一些配置错误?它会在哪里?
在此先感谢您的帮助!
再次保存永久链接按钮,可以解决这个问题 –
看看我的答案http://stackoverflow.com/questions/22364294/pagination-on-custom-wp-query-in-wordpress-takes-to-404 -Error-page/22465969#22465969 –
我用一个插件来调试查询和重写。匹配的查询和作品分页链接的查询字符串显然是混乱的,匹配的规则看起来是错误的。我已经有相当长的一段时间了,无法弄清楚。这是很多信息放置在评论中。我可以编辑我的帖子,但猜测我可能会更好地开始一个新的线程... – zok