WPML
الحالة
محلولة
أُبلغ عنها لـ
WPML Multilingual & Multicurrency for WooCommerce 4.0.4
تم حلها في
WPML Multilingual & Multicurrency for WooCommerce 4.1.0

نظرة عامة على المشكلة

إذا كنت تستخدم إصداراً أقدم من WPML – على سبيل المثال 3.4.0، وقمت بالتحديث من WPML متعدد اللغات & تعدد العملات لـ WooCommerce 4.0.3 إلى 4.0.4 فقد تواجه خطأً فادحاً مشابهاً لما يلي:

"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"

حل بديل مؤقت

هناك طريقتان لإصلاح هذه المشكلة:

1. حدّث WPML إلى أحدث إصدار – هذه هي الطريقة الموصى بها والأسرع والأكثر أماناً.

2. استخدم الكود التالي لتصحيح واستبدال الدالة get_requested_lang() في الملف /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;
   }

جميع المشاكل المعروفة →