WP自定义重写规则

时间:2019-06-19 10:10:50

标签: wordpress url-rewriting

我有URL: http://example.com/alternatywy/?id=getresponse

我正在尝试将其重写为: http://example.com/alternatywy/getresponse

我已经添加到我的functions.php中:

add_action('init', 'dcc_rewrite_tags');
function dcc_rewrite_tags() {
    add_rewrite_tag('%id%', '([^&]+)');
}

add_action('init', 'dcc_rewrite_rules');
function dcc_rewrite_rules() {
    add_rewrite_rule('^alternatywy/(.+)/?$','index.php?page_id=8286&id=$matches[1]','top');
}

但是它不起作用。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

尝试一下:

add_filter('query_vars', function($vars) {
    $vars[] = "id";
    return $vars;
});

add_action('init', 'dcc_rewrite_rules');
function dcc_rewrite_rules() {
    add_rewrite_rule('^alternatywy/([^/]+)/?$','index.php?page_id=8286&id=$matches[1]','top');
}

现在该刷新刷新规则了。您可以通过代码或手动保存永久链接两种方式完成此操作。

手册:

  

在WordPress管理屏幕中,选择设置->永久链接   然后只需点击“保存更改”即可。

代码:

/* Flush rewrite rules for custom post types. */
add_action( 'after_switch_theme', 'flush_rewrite_rules' );