WordPress内部URL路由/重写API

时间:2014-11-12 10:37:04

标签: php wordpress url-rewriting routes

我有自定义帖子类型的WordPress主题。我的网址结构是/%category%/%postname%(这必须保持这种状态)

我也有自定义帖子类型"汽车"和一个类别"汽车"。当我输入domain.com/cars时,WordPress将路由到archive.php模板文件(这是正确的默认行为)。

我想要的是,指向具有Permalink domain.com/cars的页面(具有自定义模板)的漂亮URL的URL(丑陋的URL将是domain.com/index.php?pagename =汽车)

我试过了:

add_action( 'init', 'add_rewrite_rules' );  
function add_rewrite_rules() {   
    add_rewrite_rule(  
        'cars/([^/]+)/?$',  
        'index.php?pagename=$matches[1]',  
        'top');
}  

我也刷新了重写规则,但它不起作用(没有任何反应)。任何想法?

1 个答案:

答案 0 :(得分:0)

我找到了这个解决方案(对于functions.php):

第一行匹配汽车/野马等网站,第二行指向/汽车到名为cars的页面。

add_rewrite_rule('^cars/([^/]*)/?','cars/$matches[1]','top');
add_rewrite_rule('^cars$','index.php?pagename=cars','top');

不要忘记在设置 - >永久链接

中刷新重写规则