WPML

Resumen del problema

Al enviar un correo electrónico desde los plugins YITH Affiliate, YITH Giftcards, WCFM y posiblemente algunos otros, puede encontrarse con un error como este:

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

Solución alternativa

Este problema se ha solucionado en WooCommerce Multilingual 4.9.0-b1. Actualizar lo soluciona en su sitio, por lo que solo necesita esta solución alternativa si aún no puede actualizar.

Nuestros desarrolladores están trabajando para solucionar este problema.
Como solución alternativa temporal, y solo después de asegurarse de tener una copia de seguridad completa de su sitio, puede ir a wp-content/plugins/woocommerce-multilingual/inc/class-wcml-emails.php y cambiar el código de:

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 );

a este código:

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 );
}

Todos los problemas conocidos

¿Sigue teniendo este problema?

Si actualizar no lo soluciona, haga una consulta de soporte y lo revisaremos con usted.