自定义WordPress自定义帖子类型&自定义分类法重写维护默认存档

时间:2012-06-07 15:20:40

标签: wordpress rewrite permalinks

我有一个注册分类法(wps_type)和2个自定义帖子类型(wps_business,wps_location)。注册的分类法已将重写arg设置为slug =>类型和帖子类型有slug =>商业与slug =>位置已经设​​定。我需要一个自定义智能固定链接重写规则,其中所有以下内容都可用。

默认工作(仍然需要工作):

http://domain.com/post-type/post-name => http://domain.com/business/post-name
http://domain.com/post-type/post-name => http://domain.com/location/post-name
http://domain.com/taxonomy/term-name  => http://domain.com/type/term-name

但我需要的是:

http://domain.com/post-type/taxonomy  => http://domain.com/location-post-name/type-term-name

所以我相信使用post_type_link过滤器可能无效,但我可能错了。这是我尝试过的一些代码:

add_rewrite_rule( '^directory/([^/]*)/([^/]*)/?', 'index.php?wps_location=$matches[1]&wps_business=$matches[2]', 'top' );
add_rewrite_tag( '%wps_location%', '([^/]+)' );
add_rewrite_tag( '%wps_business_types%', '([^&]+)' );

1 个答案:

答案 0 :(得分:0)

不确定你是否找到了自己的答案,但我刚发现this article概述了如何做到这一点(尽管有一些警告)。此外,不确定这个答案是否会保留您提到的第三个永久链接结构:

  

http://domain.com/taxonomy/term-name => http://domain.com/type/term-name

我个人很少发现需要这种结构,但通常需要http://domain.com/post-type/tax/term结构,因此该文章适用于我。