Php WordPress内部URL路由/重写API
我有一个自定义帖子类型的WordPress主题。我的URL结构是/%category%/%postname%(必须保持这种状态) 我也有一个自定义的职位类型“汽车”和一个类别“汽车”。当我进入domain.com/cars时,WordPress将路由到archive.php模板文件(这是正确的默认行为) 我想要的是,这个URL指向一个页面的漂亮URL(该页面将有一个自定义模板),该页面具有Permalink domain.com/cars(丑陋的URL将是domain.com/index.php?pagename=cars) 我试过这个:Php WordPress内部URL路由/重写API,php,wordpress,url-rewriting,routes,Php,Wordpress,Url Rewriting,Routes,我有一个自定义帖子类型的WordPress主题。我的URL结构是/%category%/%postname%(必须保持这种状态) 我也有一个自定义的职位类型“汽车”和一个类别“汽车”。当我进入domain.com/cars时,WordPress将路由到archive.php模板文件(这是正确的默认行为) 我想要的是,这个URL指向一个页面的漂亮URL(该页面将有一个自定义模板),该页面具有Permalink domain.com/cars(丑陋的URL将是domain.com/index.php
add_action( 'init', 'add_rewrite_rules' );
function add_rewrite_rules() {
add_rewrite_rule(
'cars/([^/]+)/?$',
'index.php?pagename=$matches[1]',
'top');
}
我还刷新了重写规则,但它不起作用(什么也没发生)。有什么想法吗?我找到了这个解决方案(针对functions.php):
第一行匹配cars/mustang等URL,第二行将/cars指向名为cars的页面
add_rewrite_rule('^cars/([^/]*)/?','cars/$matches[1]','top');
add_rewrite_rule('^cars$','index.php?pagename=cars','top');
不要忘记刷新设置->永久链接中的重写规则,WordPress会自动为您的自定义帖子类型创建永久链接。所以domain.com/%category%/%postname%/不起作用?或者您正在尝试创建一个新的永久链接来显示所有和特定的“汽车”?domain.com/%category%/%postname%/工作正常,domain.com/%custompostnype%/postname工作正常。问题:我想将domain.com/cars路由到一个页面,而不是存档。