1

我按顺序有一个注册分类法(wps_type)和 2 个自定义帖子类型(wps_business、wps_location)。已注册的分类法已将重写 arg 设置为 slug => type,并且帖子类型已设置 slug => business & slug => location。我需要一个自定义的智能永久链接重写规则,其中所有以下内容都可用。

默认值工作(并且仍然需要工作):

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%', '([^&]+)' );
4

1 回答 1

0

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

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

我个人很少发现需要这种结构,但经常需要这种http://domain.com/post-type/tax/term结构,所以那篇文章对我有用。

于 2012-12-05T19:26:10.133 回答