Wordpress add_rewrite_tag (), add_rewrite_rule () и post_link ()

Я пытаюсь сделать следующее:

Перепишите структуру URL моей установки WordPress так, чтобы там было поле языка. Например.http://www.mydomain.com/lang/

Затем я хочу взять данные из / lang / и использовать их для отображения соответствующего содержимого. Например. если lang равен 'en', я возьму пользовательские поля на английском и выведу тему на английском.

Вот что у меня так далеко:

<?php
 function add_directory_rewrite() {
    global $wp_rewrite;
    add_rewrite_tag('%lang%', '(.+)');
    add_rewrite_rule('^/(.+)/', 'index.php?p=$matches[1]&lang=$matches[2]', 'top');
    add_permastruct('lang', '%lang%');

   }
    add_action( 'init', 'add_directory_rewrite' );
?>

Это работает до получения языка, но проблема, с которой я сталкиваюсь, теперь заключается в том, что the_permalink () имеет "/% lang% /", где / en / должен быть или / fr / или / de / или любым другим языком. Чтобы добавить больше деталей, моя структура постоянных ссылок имеет вид /% lang% /% category% /% postname% / и, скажем, у меня есть категория с названием food и запись с заголовком курица, сгенерированная the_permalinkhttp://www.mydomain.com/%lang%/food/chicken/

Есть идеи, что я делаю не так? Приветствия.

Ответы на вопрос(3)

Ваш ответ на вопрос