Wordpress重写规则

时间:2018-05-21 09:33:07

标签: wordpress url-rewriting permalinks

我有一个Wordpress Multisite安装,我在博客1中添加了自定义的帖子类型命名课程,然后我选择了我想看到的其他博客。

在其他博客中添加我使用的页面,如单一课程模板。

此页面的网址是

  

http://example.com/blogName/course/?course-name=lorem-ipsum&course-id=xx

我想要一个这样的网址

  

http://example.com/blogName/course/lorem-ipsum

我希望在模板页面中获取course-id参数。

我尝试使用add_rewrite_rule,但我无法按照自己的意愿行事。

add_filter('query_vars', 'my_query_vars', 10, 1);
function my_query_vars($vars) {
    $vars[] = 'course-name';
    return $vars;
}

add_action( 'init', 'init_custom_rewrite' );
function init_custom_rewrite() {
    add_rewrite_rule(
    '^course/([^/]*)/?','index.php?course-name=$matches[1]','top');
}

我该怎么做? 我需要在.htaccess中添加一些内容吗?

1 个答案:

答案 0 :(得分:0)

一旦你执行了上面的钩子,找到一种方法来调用flush重写函数,它将更新重写缓存,以便它开始工作。

flush_rewrite_rules( true );

可以在developer docs site上找到此功能的文档。

您只需通过转到 Settings > Permalinks 保存仪表板中的永久链接设置,即可间接调用该功能。