404自定义分类第2页、第3页等错误

时间:2012-12-05 作者:souporserious

到目前为止,我一直在读一堆关于这方面的帖子,但都不走运。我似乎不知道问题出在哪里。

我有以下几点:

自定义帖子类型:布道

自定义分类法:系列

我的URL现在看起来像这个mysite。com/Sermons/ParentTerm/ChildTerm/Post

当查看系列分类法的父术语时,第一页可以正常工作。然而,当使用wordpress分页导航到下一页时,它会抛出404。所以尝试查看mysite。com/Sermons/ParentTerm/page/2/不起作用。

我想我需要重写URL?我尝试了以下方法,但没有成功:

function sermon_rewrite_rules() {
  add_rewrite_rule(\'sermons/%series%/([^/]+)/?$\',
  \'index.php?post_type=sermons&%series%=$matches[1]\', \'top\');
  add_rewrite_rule(\'sermons/%series%/([^/]+)/page/([0-9]+)?$\',
  \'index.php?post_type=players&type=$matches[1]&paged=$matches[2]\',\'top\');
}
add_filter(\'init\', \'sermon_rewrite_rules\');
我已经试着阅读了所有我能读到的关于这件事的资料,但一切都开始变得模糊起来,如果有任何帮助,我将不胜感激。谢谢

EDIT

因此,在进行了一些修补之后,我可以在分类页面上使用paginaiton,但现在它打破了我的实际帖子,并在那里显示了术语。我觉得我已经非常接近答案了,有什么想法吗?

function sermon_rewrite_rules() {
 add_rewrite_rule( 
    \'^sermons/([^/]*)/([^/]*)/(\\d*)?\',
    \'index.php?series=$matches[1]&p=$matches[2]&paged=$matches[3]\',
    \'top\' 
 );
}
add_filter(\'init\', \'sermon_rewrite_rules\');

1 个回复
SO网友:souporserious

好吧,在大量阅读、复制和;粘贴和插件安装我终于让它工作了。

这使用了一个自定义的post类型:Sermons,一个自定义的分类法:Series,并允许在两个页面上分页。

首先,我在这里下载了这个插件:http://wordpress.org/extend/plugins/monkeyman-rewrite-analyzer/

接下来,我输入了想要更改的URL,以获得需要重写的内容,最后得到了以下工作代码:

function sermon_rewrite_rules() {
  add_rewrite_rule(
    \'sermons/(.+?)/page/?([0-9]{1,})/?$\', //THIS IS WHERE I PASTED INFO FROM PLUGIN
    \'index.php?series=$matches[1]&p=$matches[2]&paged=$matches[3]\',
    \'top\'
  );
}
add_filter(\'init\', \'sermon_rewrite_rules\');
希望这能帮助别人。

结束

相关推荐

widgetlogic and permalinks

我试图使用widgetlogic在某些页面上有条件地显示菜单。每个菜单都使用如下标记is_page(array(\"Page Name\", \"Page Name 2\" ...)), 在我尝试更改permalinks之前,它一直工作得很好(因此所有菜单都会从各自的页面中消失)。我做错什么了吗?是否有解决方法?