- Status
- Gelöst
- Gemeldet für
- WPML Multilingual & Multicurrency for WooCommerce 4.8.0
- Gelöst in
- WooCommerce Multilingual 4.9.0-b1
Übersicht über das Problem
Beim Senden einer E-Mail aus YITH Affiliate, YITH Giftcards, WCFM-Plugins und möglicherweise einigen anderen kann ein Fehler wie dieser auftreten:
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
Problemumgehung
Unsere Entwickler arbeiten an der Behebung dieses Problems.
Als temporäre Problemumgehung, und nur, nachdem Sie sichergestellt haben, dass Sie ein vollständiges Backup Ihrer Website haben, können Sie zu wp-content/plugins/woocommerce-multilingual/inc/class-wcml-emails.php gehen und den Code von:
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 );
in diesen Code ändern:
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 );
}