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