J'ai écrit un système multilingue simple, dans lequel cliquer sur une icône de drapeau crée un cookie d'un an contenant un code de langue à deux lettres (par exemple, nl, de, etc.).
J'accroche à l'action wp
pour lire la valeur du cookie, puis utilise les filtres the_title
et the_content
pour afficher la langue correcte (les différentes langues sont entrées via des métaboxes dans l'écran de modification de page/post-modification).
Tout cela fonctionne très bien, sauf que j'aimerais également avoir des permaliens pour chaque version linguistique, le code de langue à deux lettres étant compris entre le nom de domaine et la structure habituelle de permalien. J'utilise la structure permalien %postname%
, de sorte que tous les éléments suivants seraient valides:
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
Si la langue actuelle est l'anglais, aucun code à deux lettres ne doit être utilisé (il s'agira simplement du permalien normal).
Jusqu'ici, j'ai utilisé le filtre query_vars
pour ajouter une requête nommée lang
, mais c'est loin d'être le cas, je ne sais pas quelles sont les prochaines étapes. Tout conseil très apprécié!
Votre question est suffisamment compliquée pour y répondre par moi-même, mais je vous suggérerais d'installer qTranslate
plugin. Comme le dit la description du plugin:
Choisissez l’un des 3 modes pour personnaliser vos URL et faciliter leur référencement. - Le partout compatible? Lang = en, simple et beau/en/foo/ou Nice et soigné en.votresite.com
Donc, vous pouvez essayer d'inspecter le code du plugin et voir comment il le fait, ou simplement l'utiliser.