我有一个名为“项目”的自定义帖子类型(pastebin) 我在仪表板中设置了一个名为“项目”的页面,用于显示项目模板。(pastebin)
问题是,当我使用WP\\u PageNavi合并分页并单击第2页时,我得到一个错误404。我在某处读到,这是因为自定义帖子类型和页面不能有相同的名称。我发现这是真的,因为我尝试将页面名称更改为“项目2”,并且成功了。
但是,当我更改自定义帖子类型的名称时,这会反映在url中。因此,如果我将自定义帖子类型更改为“projects2”,而不仅仅是“projects”,那么url现在看起来是这样的:mysite。com/项目2/单桩
顺便说一下,我的自定义永久链接设置为/%类别%/%postname%/。
同样,出于美观原因,我无法将页面名称更改为“项目2”。
那么我该如何应对呢?这让我疯狂了好几个小时。如果有任何有用的建议,我将不胜感激!
最合适的回答,由SO网友:Jan Fabry 整理而成
正如您在重写分析器中所看到的,/projects/page/2/
集合projects=page&page=/2
而不是pagename=projects&paged=2
如我们所愿。因此,您只需要为这种特殊情况添加重写规则(在register_projects()
注册自定义帖子类型后,函数将是一个很好的位置):
add_rewrite_rule( \'projects/page/([0-9]+)/?$\', \'index.php?pagename=projects&paged=$matches[1]\', \'top\' );
记住通过访问Permalinks页面或其他方式刷新重写规则。