Ce sujet est résolu. Voici une description du problème et de la solution.
Problème :
Le client ne peut pas sauvegarder la page d'administration de la page d'accueil en polonais sur leur site WordPress. L'erreur retournée est "La mise à jour a échoué. La réponse n’est pas une réponse JSON valide."
Solution :
Nous avons identifié que le problème survient lorsque le plugin WPRocket est actif en même temps que le plugin permalink-manager. Un conflit est également détecté dans le fichier
/wp-content/themes/sur-mesure/functions.php
à cause d'un champ Advanced Custom Fields qui interagit incorrectement avec le gestionnaire de permaliens. Pour résoudre ce problème, nous recommandons de commenter ou de réviser le code dans le fichier functions.php, spécifiquement la fonction
pm_fix_language_mismatch
.
Si cette solution ne résout pas votre problème ou semble dépassée, nous vous conseillons de vérifier les problèmes connus et de vous assurer que vous utilisez les versions les plus récentes des thèmes et plugins. Si le problème persiste, n'hésitez pas à ouvrir un nouveau ticket de support.
Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.
Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.
Marqué : Custom Work
Ce sujet contient 14 réponses, a 1 voix.
Dernière mise à jour par Ilyes Il y a 16 heures et 33 minutes.
Assisté par: Ilyes.
| Auteur | Messages |
|---|---|
| décembre 1, 2025 à 1:25 pm #17622703 | |
|
vincentH-17 |
Nous avons traduit automatiquement en polonais le site lien caché Pour une raison que nous ignorons, il nous est impossible de sauvegarder la page d'administration de la page d'accueil en polonais : lien caché Wordpress nous renvoie l'erreur suivante : |
| décembre 1, 2025 à 1:56 pm #17622780 | |
|
vincentH-17 |
Bonjour, Nous avions eu quelqu'un une première fois sur le chat, mais la connexion a coupé. D'avance merci, |
| décembre 2, 2025 à 1:25 am #17624289 | |
|
Ilyes Supporter
Les langues: Anglais (English ) Français (Français ) Arabe (العربية ) Fuseau horaire: Pacific/Easter (GMT-05:00) |
Bonjour, Merci d'avoir contacté l'équipe d'assistance WPML. En général, le json non valide se produit si vous avez des données supplémentaires qui ne sont pas attendues. Cela peut être dû à un HTACCESS personnalisé, à des erreurs ou à un code personnalisé. Tout d'abord, je vous recommande d'augmenter la valeur de WP_MEMORY_LIMIT à au moins 256M (vous avez actuellement 40M). Vous devez ajouter la ligne suivante dans votre fichier wp-config.php, ajoutez-la avant la ligne /* C'est tout, n'éditez plus ! Bonne publication. */ define( "WP_MEMORY_LIMIT", "256M" ); Si le problème persiste, je vous suggère de faire un test en activant d'abord le debug_log pour voir si des erreurs visibles apparaissent avec des logs détaillés. Je peux m'en occuper pour vous si vous pouvez me donner accès à votre site. |
| décembre 3, 2025 à 2:13 am #17628936 | |
|
Ilyes Supporter
Les langues: Anglais (English ) Français (Français ) Arabe (العربية ) Fuseau horaire: Pacific/Easter (GMT-05:00) |
Bonjour, La solution semble être de réenregistrer la traduction à partir de l'éditeur de traduction WPML : lien caché Je ne comprends pas bien l'intérêt de cette sauvegarde. Modifiez-vous la page en polonais directement dans l'éditeur WordPress ? Si tel est le cas, je vous recommande de ne pas modifier la traduction en polonais (ou toute autre traduction) à l'aide du constructeur de site si vous avez utilisé la traduction automatique. Le fait de mélanger plusieurs éditeurs peut entraîner des erreurs, voire la perte de traductions. Utilisez une seule méthode pour modifier et traduire votre contenu. |
| décembre 3, 2025 à 9:31 am #17629792 | |
|
vincentH-17 |
Je comprends pour ce qui concerne les conflits d'éditeurs. Les blocs ne sont pas chargés. Pour les langues ES et IT traduites automatiquement, le problème ne se pose pas. Pourriez-vous vérifier svp ? |
| décembre 3, 2025 à 3:54 pm #17631581 | |
|
Ilyes Supporter
Les langues: Anglais (English ) Français (Français ) Arabe (العربية ) Fuseau horaire: Pacific/Easter (GMT-05:00) |
Bonjour, J'ai retraduit la page à partir de zéro et le contenu se charge dans le backend, mais le frontend continue d'afficher l'élément svg : lien caché Il semble que la page polonaise redirige vers une erreur 404. Lorsque je masque l'élément d'en-tête (logo qui s'affiche en premier à l'ouverture d'une page), le message suivant s'affiche : lien caché Lorsque je duplique la page polonaise et que je la prévisualise, la traduction s'affiche sans problème : lien caché Je voudrais exécuter cela dans un environnement minimal (désactiver tous les plugins sauf ACF et WPML) afin d'éliminer les conflits. Je peux faire une copie de votre site et travailler dessus localement, faites-moi savoir si cela vous convient. Cordialement, |
| décembre 5, 2025 à 8:11 am #17637021 | |
|
vincentH-17 |
Bonjour, Oui je veux bien si possible. D'avance merci, |
| décembre 5, 2025 à 4:26 pm #17639338 | |
|
Ilyes Supporter
Les langues: Anglais (English ) Français (Français ) Arabe (العربية ) Fuseau horaire: Pacific/Easter (GMT-05:00) |
Bonjour, Il semble que ce soit un problème lié au thème, car vous utilisez un thème personnalisé. Je vais devoir transmettre cette information à nos développeurs, car les modèles ne peuvent pas se charger correctement dans d'autres langues. Je vous tiendrai au courant dès que j'aurai des nouvelles. |
| décembre 8, 2025 à 4:42 pm #17644917 | |
|
Ilyes Supporter
Les langues: Anglais (English ) Français (Français ) Arabe (العربية ) Fuseau horaire: Pacific/Easter (GMT-05:00) |
Bonjour, Il y a une requête REST vers /pl/wp-json/wp/v2/pages/17281?_locale=user pour enregistrer la page. // Disable REST API link in HTTP headers
remove_action('template_redirect', 'rest_output_link_header', 11, 0);
Qui est à l'origine du problème. Autre source de préoccupation concernant les paramètres PHP par défaut : [08-Dec-2025 07:53:15 UTC] PHP Parse error: Unclosed '{' on line 61 in /var/www/html/web/wp-content/themes/sur-mesure/includes/ACF/template-blocks/content-home-experiences.php on line 98
C'est parce que vous avez : <? } ?> Au lieu de : <?php } ?> Êtes-vous toujours en contact avec les développeurs de votre thème/site ? Si oui, pourriez-vous leur faire part de nos conclusions ? |
| décembre 9, 2025 à 8:34 am #17646086 | |
|
vincentH-17 |
Bonjour, Merci pour votre analyse. Pouvez-vous vérifier ? Cordialement |
| décembre 9, 2025 à 1:40 pm #17647963 | |
|
Ilyes Supporter
Les langues: Anglais (English ) Français (Français ) Arabe (العربية ) Fuseau horaire: Pacific/Easter (GMT-05:00) |
Bonjour, Merci d'avoir essayé les modifications, nous allons continuer à déboguer un peu plus, nous avons peut-être raté une autre partie du code à modifier. |
| décembre 9, 2025 à 2:36 pm #17648146 | |
|
Ilyes Supporter
Les langues: Anglais (English ) Français (Français ) Arabe (العربية ) Fuseau horaire: Pacific/Easter (GMT-05:00) |
Bonjour, Localement, je ne vois rien d'autre. Maintenant, pourquoi cela fonctionne pour « de » et « es », mais pas pour « pl » ? Il est possible que cela provienne du cache WPRocket, car je l'ai désactivé localement. Une solution temporaire pourrait être d'ajouter une règle de réécriture : <IfModule mod_rewrite.c> RewriteEngine On # Internally rewrite /pl/wp-json/... to /wp-json/... RewriteRule ^pl/wp-json/(.*)$ /wp-json/$1 [L] </IfModule> Si cela n'a pas aidé, avez-vous peut-être un site de test/staging présentant le même problème ? |
| décembre 9, 2025 à 3:45 pm #17648648 | |
|
Ilyes Supporter
Les langues: Anglais (English ) Français (Français ) Arabe (العربية ) Fuseau horaire: Pacific/Easter (GMT-05:00) |
Rebonjour, Nous avons reproduit le problème lorsque nous avons activé WPRocket localement. Nous avons également remarqué quelque chose d'étrange dans le thème /wp-content/themes/sur-mesure/functions.php. add_filter('permalink_manager_detected_post_id', 'pm_fix_language_mismatch', 7, 3);
function pm_fix_language_mismatch($item_id, $uri_parts, $is_term = false)
{
$redirect404 = true;
if (!$is_term) {
$element = get_post($item_id);
if (!empty($element->post_type)) {
$element_id = $item_id;
$element_type = $element->post_type;
}
}
// Stop if no term or post is detected
if (empty($element)) {
return false;
}
// Get the language code of the found post/term
$element_language_code = Permalink_Manager_Language_Plugins::get_language_code($element);
// Get the detected language code
if (defined('ICL_LANGUAGE_CODE')) {
$detected_language_code = ICL_LANGUAGE_CODE;
} else if (!empty($uri_parts['lang'])) {
$detected_language_code = $uri_parts['lang'];
} else {
return $item_id;
}
if ($detected_language_code !== $element_language_code) {
$item_id = apply_filters('wpml_object_id', $element_id, $element_type);
if (!empty($item_id)) {
$canonical_permalink = get_permalink($item_id);
//test si canonical permalink correspond à l'URI demandé. Si true alors URL existe
$pattern = '/\/' . preg_quote($uri_parts["uri"],"/") . '(#{0,1})(\?.*){0,1}$/';
$return_preg = preg_match($pattern, $canonical_permalink);
if ($return_preg) {
return $item_id;
}
if ($redirect404) {
global $wp_query;
$wp_query->set_404();
status_header(404);
get_template_part(404);
exit();
} else {
wp_safe_redirect($canonical_permalink, 301);
exit();
}
}
}
return $item_id;
}
En raison d'un champ Advanced Custom Fields qui contient un lien vers un champ de gestionnaire de permaliens, il tente d'ajuster le lien, mais à cause de cet appel, il ajuste la requête elle-même lors de l'appel à l'API REST. Witajcie na pokładzie naszego <strong>kempingu w Vias</strong>! Californie Plage wita Was w rodzinnej atmosferze na terenie wyjątkowo zielonym, gdzie natura odgrywa główną rolę. Położony nad Morzem Śródziemnym, nasz luksusowy <a href="<em><u>lien caché</u></em>">kemping w pobliżu Portiragnes</a> ma wiele atutów, w tym <strong>niesamowity park wodny w tematyce pirackiej</strong>, <a href="<em><u>lien caché</u></em>">domki mobilne w Vias</a> tuż przy plaży, idealnie usytuowane <a href="<em><u>lien caché</u></em>">miejsca kempingowe w Vias</a>, wspaniałe przestrzenie gastronomiczne oraz wiele innych usług ułatwiających codzienne życie. Przez cały pobyt w naszym <strong>4-gwiazdkowym kempingu w Vias-Plage</strong> organizujemy również różne animacje i aktywności. Wszystko po to, aby cała rodzina mogła się bawić i cieszyć podczas wakacji w Hérault w naszym <a href="https:/example.com/camping-cap-d-agde.html">kempingu blisko Cap d'Agde</a>! Le gestionnaire de permaliens récupère donc : camping-portiragnes.html et la fonction « tente d'ajuster la discordance linguistique », car l'URL est en français, mais doit être ajustée pour le polonais. La logique échoue et c'est là que réside le problème. Ma nouvelle suggestion : commenter et réviser le code dans /wp-content/themes/sur-mesure/functions.php pour la fonction : \pm_fix_language_mismatch |
| décembre 10, 2025 à 11:35 am #17651964 | |
|
vincentH-17 |
Merci beaucoup ! Cela résout effectivement le problème de sauvegarde et d'affichage ! |
| décembre 10, 2025 à 12:37 pm #17652246 | |
|
Ilyes Supporter
Les langues: Anglais (English ) Français (Français ) Arabe (العربية ) Fuseau horaire: Pacific/Easter (GMT-05:00) |
Bonjour, Merci pour votre suivi. N'hésitez pas à nous faire part de toute autre question. Je vais maintenant marquer ce ticket comme résolu. |