סקירת התקלה
אם אתה משתמש ב־WPML Multilingual & Multicurrency for WooCommerce, ייתכן שתיתקל בשגיאת 504 Gateway Time-out בעת ניסיון לעדכן מוצר עם וריאציות באתר שלך.
פתרון עוקף
בעיה זו תוקנה ב־WCML 5.3.3. עדכון פותר זאת באתר שלך, לכן אתה זקוק לפתרון העוקף הזה רק אם עדיין אינך יכול לעדכן.
אנא ודא שיש לך גיבוי מלא של האתר לפני שתמשיך.
- פתח את הקובץ …/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 ); }