סקירת התקלה
בעת שליחת אימייל מהתוספים YITH Affiliate, YITH Giftcards, WCFM וייתכן שגם מאחרים, ייתכן שתיתקל בשגיאה כזו:
PHP Fatal error: Uncaught Error: Call to a member function get_id() on array in /public_html/wp-content/plugins/woocommerce-multilingual/inc/class-wcml-emails.php:395
פתרון עוקף
בעיה זו תוקנה ב־WooCommerce Multilingual 4.9.0-b1. עדכון פותר זאת באתר שלך, לכן אתה זקוק לפתרון העוקף הזה רק אם עדיין אינך יכול לעדכן.
המפתחים שלנו עובדים על תיקון הבעיה.
כפתרון עוקף זמני, ורק לאחר שתוודא שיש לך גיבוי מלא של האתר, עבור אל wp-content/plugins/woocommerce-multilingual/inc/class-wcml-emails.php ושנה את הקוד הבא:
public function get_email_translated_string( $key,
$object, $language)
{
$context = 'admin_texts_woocommerce_' . $object->id . '_settings';
$name = '[woocommerce_' . $object->id . '_settings]' . $key;
return $this->wcml_get_translated_email_string( $context, $name, $object->object->get_id(), $language );לקוד הזה:
public function get_email_translated_string( $key, $object, $language ) {
$context = 'admin_texts_woocommerce_' . $object->id . '_settings';
$name = '[woocommerce_' . $object->id . '_settings]' . $key;
$order_id = false;
if ( method_exists( $object->object, 'get_id' ) ) {
$order_id = $object->object->get_id();
}
if ( is_array( $object->object ) && isset( $object->object['ID'] ) ) {
$order_id = $object->object['ID'];
}
return $this->wcml_get_translated_email_string( $context, $name, $order_id, $language );
}