Переписывание WordPress URL - PullRequest
0 голосов
/ 06 декабря 2011

У меня проблема с переписыванием URL в WordPress.В настоящее время я работаю над плагином языка (также почти законченным) и, как последнее, я хотел бы видеть каждый 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, но я тоже не смог его использовать.Проблема в том, что я просто не понимаю, как работают эти правила переписывания, и что я не могу найти достойное руководство по этому вопросу.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 06 декабря 2011

фильтр для прослушивания для обработки 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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...