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.