- Statut
- Résolu
- Signalé pour
- WPML Multilingual CMS 3.1.9.5
- Résolu dans
- 3.1.9.7
Aperçu de l’anomalie
- Accédez au menu et créez-en un dans la langue par défaut.
- Essayez de créer le menu dans la langue secondaire.
- Après avoir enregistré, vous obtiendrez une erreur 404.
Solution de contournement
Ce problème a été résolu dans WPML 3.1.9.7
Vous devez mettre à jour vers la version récente de WPML pour résoudre le problème
Si vous ne voulez pas ou ne pouvez pas mettre à jour WPML, veuillez suivre ces instructions :
- Téléchargez la version mise à jour de iclNavMenu.class.php
- Utilisez-la pour remplacer
sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php:
Cela signifie très probablement que vous devez utiliser votre client FTP et charger le fichier danssitepress-multilingual-cms/inc/wp-nav-menus: si l’on vous demande d’écraser le fichier existant, faites-le.
En cas de problèmes
Si vous rencontrez l’un de ces problèmes :
Fatal error: Call to undefined method SitePress::get_setting() in /wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 121PHP Fatal error: Call to undefined function wpml_prepare_in() in /wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 548- Une page blanche ou vide
Suivez ces étapes :
- Allez dans « WPML » -> « Support »
- Cliquez sur « informations de débogage » : vous verrez une zone de texte grise avec beaucoup d’informations (c’est un objet json)
- Copiez le contenu de la zone de texte dans un fichier texte et nommez ce fichier comme vous le souhaitez : il est préférable d’utiliser l’extension « json », mais ce n’est pas obligatoire
- Créez un nouvel utilisateur WordPress avec des droits d’administration pour me permettre de déboguer le problème
- Installez l’extension gratuite « Duplicator » (ici).
Vous pouvez utiliser une extension différente si vous le souhaitez, mais les instructions suivantes sont spécifiques à Duplicator (bien qu’elles puissent être facilement adaptées pour d’autres extensions) - Créez un nouveau paquet :
- Allez dans « Duplicator » -> « Paquets »
- Cliquez sur « Créer un nouveau »
- Poursuivez avec l’assistant, en laissant tous les paramètres par défaut (si vous le souhaitez, vous pouvez exclure certains fichiers que vous jugez inutiles ou qui rendraient le paquet trop volumineux, comme les fichiers du dossier « uploads »)
- Une fois l’instantané prêt, téléchargez les fichiers « installer » et « package »
- Créez un dossier et incluez les fichiers de l’étape 3 et 6.4 (c’est-à-dire le fichier texte avec les informations de débogage, l’installateur et le paquet).
- Compressez ce dossier et chargez-le sur Google Drive, Dropbox ou un service similaire (ou chargez l’ensemble du dossier sans le compresser, et partagez-le)
- Allez sur notre forum d’assistance, et créez un ticket d’assistance avec le titre suivant « Workaround issues – Saving menus in non default language leads to 404 error » : nous vous demanderons de partager en privé les fichiers que vous avez stockés à l’étape 8.
Si vous utilisez une version trop ancienne de WPML, cette solution de contournement pourrait ne pas fonctionner.
In these cases, you may get a white page, or this errors: PHP Fatal error: Call to undefined function wpml_prepare_in()
Pour corriger cette erreur spécifique, veuillez suivre ces étapes :
ouvrez'wp-content/plugins/sitepress-multilingual-cms/inc/functions.php'
et recherchezwpml_prepare_in
- Si vous ne le trouvez pas, ajoutez ceci à la fin du fichier :
function wpml_prepare_in( $items, $format = '%s' ) { global $wpdb; $items = (array) $items; $how_many = count( $items ); if ( $how_many > 0 ) { $placeholders = array_fill( 0, $how_many, $format ); $prepared_format = implode( ",", $placeholders ); $prepared_in = $wpdb->prepare( $prepared_format, $items ); } else { $prepared_in = ""; } return $prepared_in; }