规范化+自定义帖子类型未按预期工作

时间:2013-03-15 作者:Jimbo

我对规范化有一个问题,在自定义帖子类型上,例如:

/自定义帖子类型/{post\\u id}/假帖子名称/

正在加载但未重定向到:

/自定义帖子类型/{post\\u id}/真实帖子名称/

它基本上是允许在post id之后加载任何内容,而不是重定向到正确的URL。

我使用“add\\u rewrite\\u rule”设置了自定义重写规则的CPTs,并将自定义帖子链接与“post\\u type\\u link”关联。

我在什么地方漏了一步吗?

非常感谢。

只需将实际的规范标记添加到其中,它就会显示它应该重定向到的正确url。

我是否需要向canonical\\u重定向添加一个过滤器,并检查CPT的post\\u名称,看看它是否与给定的post id匹配,并可能将其传回?我不确定这是否需要/或修复它的方法,因为中的规范是正确的?

1 个回复
最合适的回答,由SO网友:Jimbo 整理而成

想想我解决了它,简直不敢相信它是什么!

根据我的重写规则,我有:

add_rewrite_rule( 
        \'custom-post-type/([0-9]+)/([^/]*)/?$\',
        \'index.php?post_type=customposttype&p=$matches[1]\',
        \'top\'
    );
添加并传递自定义帖子类型的post\\u名称使其开始重定向。

add_rewrite_rule( 
        \'custom-post-type/([0-9]+)/([^/]*)/?$\',
        \'index.php?post_type=customposttype&p=$matches[1]&customposttype=$matches[2]\',
        \'top\'
    );
无论如何,现在已经很晚了,而且它似乎已经开始工作了:-)现在至少它迫使301从假帖子转到了之前在规范元中放置的真实帖子。不知道为什么,但认为如果提供了id,它就可以工作,而不必输入post\\u名称。

有时WP真的可以让你把头发拔出来!

结束

相关推荐