WPML
Statut
Résolu
Signalé pour
WPML Multilingual & Multicurrency for WooCommerce 4.0.4
Résolu dans
WPML Multilingual & Multicurrency for WooCommerce 4.1.0

Aperçu de l’anomalie

Si vous utilisez une ancienne version de WPML — par exemple 3.4.0 — et que vous mettez à jour WPML Multilingual & Multidevise pour WooCommerce de la version 4.0.3 à la version 4.0.4, vous pourriez rencontrer une erreur fatale similaire à la suivante :

"PHP Fatal error: Call to undefined method WPML_WP_API::is_comments_post_page() in /wp-content/plugins/woocommerce-multilingual/inc/wcml-switch-lang-request.php on line 136"

Solution de contournement

Il existe deux façons de résoudre ce problème :

1. Mettez à jour WPML vers la dernière version – c’est la méthode recommandée, la plus rapide et la plus sûre.

2. Utilisez le code suivant pour corriger et remplacer la fonction get_requested_lang() dans le fichier /woocommerce-multilingual/inc/wcml-switch-lang-request.php.

public function get_requested_lang() {

       return $this->is_comments_post_page() ? $this->get_cookie_lang() : $this->get_request_uri_lang();
   }

   public function is_comments_post_page() {
       global $pagenow;

       return 'wp-comments-post.php' === $pagenow;
   }

Toutes les anomalies connues →