我在WordPress中使用了一个层次化的定制帖子类型(帖子类型称为Locations,slug=Location)。位置可以嵌套(国家/州/城市)
我已成功添加自定义查询变量:add_filter('query_vars', function($vars) { $vars[] = "view"; return $vars; });
我用它来决定为该位置显示什么数据。
例如,mysite.com/Location/Country/?View=FACTS或mysite.com/location/country/state/city/?view=events
所有这些都运行得很好。
但我希望能够以以下方式访问它:
Mysite.com/位置/国家/事实
Mysite.com/位置/国家/州/城市/事实
我一直在尝试添加_重写_规则,但无法使其工作。不确定问题出在我的$regex还是$查询上;regex不是我的强项。
add_rewrite_rule( '/(view)/g', 'index.php?post_type=locations?view=$matches[1]','top' );
1条答案
按热度按时间fnvucqvd1#
尝试添加_重写_端点,它实际上要简单得多
https://developer.wordpress.org/reference/functions/add_rewrite_endpoint/
https://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/