重写URL前缀的规则

时间:2015-02-13 00:19:30

标签: php wordpress

我正在我的Wordpress插件中重写一些URL前缀(即类别前缀,标记前缀或自定义分类前缀)。我正在使用Wordpress' rewrite API

add_filter('rewrite_rules_array','wp_insertMyRewriteRules');
add_filter('init','flushRules');  

// Remember to flush_rules() when adding rules
function flushRules(){
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}

// Adding a new rule
function wp_insertMyRewriteRules($rules)
{
    $newrules = array();
    $newrules['kategorie/(.+?)/?$'] = 'index.php?category_name=$matches[1]';
    return $newrules + $rules;
}

它正在运行,但网站上的系统URL没有更改,WP正在使用数据库中的旧前缀“类别”。我如何重写这些网址?

1 个答案:

答案 0 :(得分:1)

如果您想更改所有类别的固定链接结构,则可以在设置 - >处进行配置。永久链接 - >类别基础

如果您只想更改一个或几个类别的链接,可以使用WordPress category_link过滤器:

function update_permalink( $permalink, $cat_id ) {
    // If $cat_id is category we want to change, modify $permalink
    return $permalink;
}
add_filter( 'category_link', 'update_permalink', 11, 2 );