Musilda.cz

Změna textu e-mailu dle použité platební metody

Univerzální text v e-mailu po přijetí platby, není vždy vhodně formulován, protože je obecný. Problém vzniká tehdy, pokud použijete platební metodu, jenž funkčně neodpovídá textu.

Text po přijetí objednávky a uvedení stavu objednávku do stavu on-hold (čeká na vyřízení), vypadá takto:

Což odpovídá platbě bankovním převodem.

Pokud využijete platbu dobírkou, už obsah e-mailu přestává dávat smysl, protože nejprve odesíláte zboží a platbu přijímáte až poté.

Změna textu o přijaté objednávce

Většina kódu, který jsem přidávám obsahuje nějakou akci, nebo filter, protože nerad upravuji přímo soubory šablon WooCommerce, ale zde to jinak nejde. Kód totiž vypadá takto:

<p><?php printf( esc_html__( 'Hi %s,', 'woocommerce' ), esc_html( $order->get_billing_first_name() ) ); ?></p>
<p><?php esc_html_e( 'Thanks for your order. It’s on-hold until we confirm that payment has been received. In the meantime, here’s a reminder of what you ordered:', 'woocommerce' ); ?></p>

Nikde žádný filter, nebo akce pro ovlivnění chování. Takže musíme vzít soubor customer-on-hold-email.php a zkopírovat ho do složky aktivni-sablona/woocommerce/emails/.

Jestliže žádnou takovou složku v šabloně nemáte, musíte ji vytvořit.

Následně řádek s poděkování nahradíme následujícím kódem?

if ( 'dobirka' === $order->get_payment_method() ) {
	echo '<p>' . esc_html__( 'Děkujeme za objednávku, kterou jsme přijali a připravujeme ji na odeslání. Platbu provedete po přijetí zboží. Zde je přehled toho co jste si objednali:', 'woocommerce' ) . '</p>';
} else {
	echo '<p>' . esc_html__( 'Thanks for your order. It’s on-hold until we confirm that payment has been received. In the meantime, here’s a reminder of what you ordered:', 'woocommerce' ) . '</p>';
}

Z objektu objednávky jsme získali id platební metody a napsali podmínku pro dobírku. Pokud bude zaplaceno jinak, bude použit původní text. Podmínku si můžete upravit podle toho, jaký text chcete mít pro konkrétní platební metodu.

Exit mobile version