使用Wordpress 3.1和最新的高级永久链接和自定义帖子类型UI,我创建了一个名为“人”的自定义帖子类型 . 这个帖子类型的所有孩子的url模式是people / jim,但是当我查看帖子时,我陷入无限重定向循环 . 这只发生在我使用漂亮的永久链接时,而不是在使用id时 .
高级永久链接上使用的永久链接结构是:
常用设置
自定义结构:%postname%
发布
%postname%
- Wordpress将自定义帖子类型重定向到自身,而不是将其翻译为?people = jim . 我曾尝试在functions.php中自己定义帖子类型,然后进行刷新,但似乎没有像其他人发现的那样解决问题 . 非常感谢任何修复!
1 回答
经过大量的日志记录和调试后,我发现导致无限重定向的函数是
function the_posts($posts)
. 如果你注释掉从if (is_single () && count ($posts) > 0)
到remove_filter ('the_posts', array (&$this, 'the_posts'));
之前的所有内容,它会停止无限重定向,并且似乎仍能正常运行!唯一的副作用是,如果你去/jim/
它会将你重定向回/people/jim/
(而不仅仅是给你一个404) . 对我来说,这很好,因为它解决了这个问题 .所以,再次,在
advanced-permalinks.php
内,搜索function the_posts
,然后对其进行评论,使其看起来像下面的代码 .为什么这会打破它?因为自定义帖子类型is_single并且与任何规则都不匹配,显然,这使得APL将其重新发送回去......无休止地 . 等等 . 也许有一种更聪明的方法可以做到这一点,检查它是否是自定义的帖子类型,或者其他什么,但只是禁用它似乎对我来说没问题 .