Я написал простую многоязычную систему, при которой нажатие на значок флага устанавливает однолетнее печенье, содержащее двухбуквенный код языка (например, nl, de и т. Д.).
Я вклиниться в wp
действие , чтобы прочитать значение куков, а затем использовать the_title
и the_content
фильтры , чтобы показать правильный язык (различные языки вводятся через метабоксы на странице после экрана / редактирования).
Все это прекрасно работает, за исключением того, что я также хотел бы иметь постоянные ссылки для каждой языковой версии, при этом двухбуквенный код языка находится между доменным именем и обычной структурой постоянных ссылок. Я использую %postname%
структуру постоянных ссылок, поэтому все следующее будет правильным:
http://example.com/nl/about-us
http://example.com/de
http://example.com/fr/2012/03
http://example.com/es/this-is-a-post-title
Если текущим языком является английский, то не следует использовать двухбуквенный код (это будет обычная постоянная ссылка).
До сих пор я использовал query_vars
фильтр для добавления запроса var lang
, но я пока не уверен, каковы будут следующие шаги. Любой совет высоко ценится!
источник
Ответы:
Ваш вопрос достаточно сложен, чтобы ответить самому, но я бы посоветовал вам установить
qTranslate
плагин. Как сказано в описании плагина:Таким образом, вы можете попытаться проверить код плагина и посмотреть, как они это делают, или просто использовать его вообще.
источник
Это фильтр, который я использую:
источник