Wordpress url rewriting


Wordpress url rewriting

我有一个关于wordpress url重写的问题。我目前正在开发一个语言插件(几乎也完成了),作为最后一件事,我希望看到每个url都被更改,以便它包含用户选择的当前语言(或默认语言,如果用户没有更改语言)。

我改变链接没有问题,问题在于服务器完成的重写。下面你可以看到我是如何修改链接的。

public function register_filters()
{
    add_filter('page_link', array(get_class(),'alter_permalink'));
    add_filter('post_link', array(get_class(),'alter_permalink'));
}
public function alter_permalink($permalink) 
{
    $permalink = str_replace(get_option('home'), '', $permalink);
    $permalink = trim($permalink, '/');
    //The next line is actually a method that is being called, 
    //but it will return a string like this.            
    $lang = 'EN'; 

    return get_option('home') . '/' . $lang . '/' . $permalink;
    //This returns a link that looks something like this:
    //http://somedomain.com/EN/permalink-structure
}

所以你可以看到,我创建链接没有问题,问题在于服务器本身的url重写。

我试过这个方法:http://shibashake.com/wordpress-theme/wordpress-permalink-add但我也没能成功。问题是,我似乎不明白这些重写规则是如何工作的,而且我似乎也找不到关于这个主题的像样的教程。

要监听处理url的过滤器是请求

function request_handler($vars) {
    //modified $vars here
    return $vars;
}
add_filter('request', 'request_handler', 11);

我已经写了一个插件自定义url在wp。查看源代码,看看我是如何处理它的。http://wordpress.org/extend/plugins/auto-url/