WPML
الحالة
محلولة
أُبلغ عنها لـ
WPML Multilingual & Multicurrency for WooCommerce 5.2.1
تم حلها في
WCML 5.3.3
وسوم الموضوع
Bug

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

إذا كنت تستخدم WPML متعدد اللغات وتعدد العملات لـ WooCommerce، فقد تواجه خطأ 504 Gateway Time-out عند محاولة تحديث منتج بمتغيرات على موقعك.

حل بديل مؤقت

يُرجى التأكد من أخذ نسخة احتياطية كاملة لموقعك قبل المتابعة.


  • افتح ملف …/woocommerce-multilingual/inc/translation-editor/class-wcml-synchronize-variations-data.php.

  • ابحث عن السطر 219.

  • غيّر:
    	public function get_variation_id_by_lang( $lang, $original_variation_id ) {
    		return $this->wpdb->get_var(
    			$this->wpdb->prepare(
    				"SELECT post_id FROM {$this->wpdb->postmeta} AS pm
                                            JOIN {$this->wpdb->prefix}icl_translations AS tr ON tr.element_id = pm.post_id
                                            WHERE tr.element_type = 'post_product_variation'
                                              AND tr.language_code = %s
                                              AND pm.meta_key = '_wcml_duplicate_of_variation'
                                              AND pm.meta_value = %d",
    				$lang,
    				$original_variation_id
    			)
    		);
    	}

  • إلى:
    	public function get_variation_id_by_lang( $lang, $original_variation_id ) {
    		return apply_filters( 'wpml_object_id', $original_variation_id, 'product_variation', false, $lang );
    	}

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