如何向WordPress默认帖子类型添加重写规则

时间:2017-06-01 作者:Mouner Mostafa

您好,正在尝试使用以下命令将重写规则添加到默认帖子类型

add_action(\'init\', \'add_my_rewrite\');
function add_my_rewrite() {
    global $wp_rewrite;
    $wp_rewrite->add_rule(\'(.*)/server/([^/]+)\',\'index.php?p=$matches[1]&server=$matches[2]\',\'top\');
    $wp_rewrite->flush_rules(false);
}
function add_query_vars_filter($vars){
  $vars[] = "server";
  return $vars;
}
add_filter(\'query_vars\',\'add_query_vars_filter\');
但worklet不是说我的帖子url是http://localhost/wordpress/movie-slug/我希望url是这样的http://localhost/wordpress/movie-slug/server/1 将参数服务器添加到URL后,我如何才能做到这一点谢谢

1 个回复
最合适的回答,由SO网友:Milo 整理而成

这个p query var需要一个post ID,请使用name 相反还要注意的是,规则只有在更改时才应该刷新,因为这是一个计算代价高昂的操作。最好在主题更改或插件激活时这样做,以适合代码所在位置的为准。您也可以通过访问admin中的Settings>Permalinks页面来完成此操作。

add_action(\'init\', \'add_my_rewrite\');
function add_my_rewrite() {
    add_rewrite_rule(
        \'^(.*)/server/([^/]+)\',
        \'index.php?name=$matches[1]&server=$matches[2]\',
        \'top\'
    );
}
function add_query_vars_filter($vars){
    $vars[] = "server";
    return $vars;
}
add_filter(\'query_vars\',\'add_query_vars_filter\');

结束

相关推荐

Change Taxonomy Permalinks

我有自定义帖子,我创建了一个显示所有自定义帖子的页面。示例:www.example.com/archive-page我想知道是否可以更改与此自定义帖子相关的类别和标签的永久链接。现在我有:www.example.com/my-custom-post-type-cats/my-category-1www.example.com/my-custom-post-type-tags/my-tag-1</我想要这样的东西:www.example.com/archive-page?category=1www.e