WPML

Visão geral do problema

Ao enviar um e-mail a partir dos plugins YITH Affiliate, YITH Giftcards, WCFM e possivelmente de alguns outros, você pode encontrar um erro 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

Solução alternativa

Este problema foi corrigido em WooCommerce Multilingual 4.9.0-b1. Atualizar resolve isso no seu site, então você só precisa desta solução alternativa se ainda não puder atualizar.

Nossos desenvolvedores estão trabalhando para corrigir esse problema.
Como uma solução alternativa temporária, e apenas após se certificar de que você tem um backup completo do seu site, você pode acessar wp-content/plugins/woocommerce-multilingual/inc/class-wcml-emails.php e alterar o 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 );

para 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 os problemas conhecidos

Ainda está vendo este problema?

Se a atualização não resolver, envie uma dúvida de suporte e nós vamos analisar isso com você.