J'utilise le plugin qtranslate pour mon site WordPress pour en faire un site multilingue.
Maintenant, j'ai une exigence comme
Pour l'anglais, l'URL doit ressembler à www.sitename.com/contact-en. Pour le français, l'URL doit ressembler à www.sitename.com/fr/contact-fr.
Comment puis-je accomplir cela? (qTranslate est le plugin utilisé)
Remarque: il ne devrait y avoir aucun identifiant de poste entrant entre les deux.
Selon l'article dans https://wordpress.stackexchange.com/questions/24061/multilingual-permalinks-qtranslate j'ai essayé http://www.3dolab.net/fr/qtranslateslug-plugin-widget mais des erreurs 'page not found' se produisent. Il semble que l'auteur ait cessé d'améliorer ce plugin conformément au 29e commentaire de cette page.
Ayant le plugin "qtranslateslug-plugin-widget" fonctionnant du côté de l'administrateur pour stocker des slugs dans la table des slug, j'ai mis mon propre code du côté de l'utilisateur.
Dans la page wp-blog-header.php
, j'ai ajouté mon propre code juste avant l'inclusion du fichier wp-load.php
. J'ai pris l'URL de $_SERVER['REQUEST_URI']
, et en utilisant le slug et la langue qu'il contient, j'ai récupéré le nom du message et attribué l'URI modifié to $_SERVER['REQUEST_URI']
de manière appropriée.
Par exemple:
Avant de modifier: $_SERVER['REQUEST_URI'] = '/fr/french-slug';
Après avoir édité: $_SERVER['REQUEST_URI'] = '/post-name';
Permettez-moi de l'expliquer d'une manière un peu plus détaillée
Assigne $_SERVER['REQUEST_URI']
à une variable
Obtenez le slug exploser avec slash (/
)
Vérifiez le slug dans la table de base de slug utilisée par le plug-in "qtranslateslug-plugin-widget" et récupérez l'identifiant du post à partir de là.
Maintenant, en utilisant l'identifiant de publication, obtenez le nom de la publication.
Implode-le de la manière que j'ai montrée dans l'exemple ci-dessus.
Réassignez à $_SERVER['REQUEST_URI']
Veuillez regarder http://wordpress.org/plugins/qtranslate-slug/
Qtranslate est un plugin de Nice mais malheureusement, il est obsolète aujourd'hui. Qtranslate Slug est une extension de QTranslate, qui ajoute la prise en charge des traductions permalinks et corrige certaines lacunes de QTranslate depuis wordpress 3.0.
Dans les paramètres qTranslate du panneau d'administration, ouvrez les options avancées et cochez la case d'option pour utiliser les préfixes de langue après le nom de domaine. Je suppose que le français indiqué dans les paramètres de langue du plug-in est correct. Vous pouvez vous attendre à ce que les dates ne s'affichent pas correctement par la suite. Utilisez la fonction de date php pour corriger cela dans vos paramètres de langue (modification de la langue). Comme j F. Voir le guide sur minexrussia.com/2011 où le préfixe ru est placé de la même manière. Pour éviter les préfixes en anglais, sélectionnez anglais comme langue par défaut et vérifiez le réglage dans Options avancées pour ne pas afficher le préfixe pour la langue par défaut. Je suggère de supprimer toutes les autres langues, sauf fr et fr dans les paramètres du plugin.