Od verze WooCommerce 3.5 se změnila struktura emailů, které se odesílají zákazníkům. Bohužel jsem narazil na chybu, pokud používáte Platbu hotově při doručení – Dobírku. Pak přijde zákazníkovi po vytvoření objednávky takovýto paskvil:
Jak z této šlamastiky ven? Já to vyřešil takto:
Vzal jsem šablonu emailu customer-processing-order.php z Woo verze 3.4.7 a nakopíroval ji do svého theme do složky
wp-content/themes/moje-theme/woocommerce/emails
Protože však zmizel z překladu text, že Vaše objednávka byla přijata, musel jsem si pomoct vlastním překladem,který jsem vložil do functions.php svého theme:
add_filter('gettext', 'translate_vandaal'); add_filter('ngettext', 'translate_vandaal'); function translate_vandaal($translated) { $translated = str_ireplace('Your order has been received and is now being processed. Your order details are shown below for your reference:', 'Vaše objednávka byla přijata a nyní je v procesu vyřizování. Detaily Vaší objednávky jsou zobrazeny níže pro Váš přehled:', $translated); return $translated; }
Dále jsem musel přepsat hlavičku emailu v nastavení Woocommerce->Nastavení->Emaily ve zprávě Zpracovávání objednávky, kde jsem přepsal předmět na Potvrzení Vaší objednávky z {order_date} na {site_title} a hlavičku emailu na Děkujeme Vám za Vaši objednávku.
A to je vše. Nyní již zákazníkovi, který objedná na dobírku, přijde správně formulovaný email. A Vám samozřejmě bude Woo hlásit, že máte zastaralou šablonu (verzi 2.5 oproti nové verzi 3.5), ale fungovat to bude, odzkoušeno.
Pokud nemáte zálohu daného souboru z verze Woo 3.4.7, tak zde je jeho obsah:
<?php /** * Customer processing order email * * This template can be overridden by copying it to yourtheme/woocommerce/emails/customer-processing-order.php. * * HOWEVER, on occasion WooCommerce will need to update template files and you * (the theme developer) will need to copy the new files to your theme to * maintain compatibility. We try to do this as little as possible, but it does * happen. When this occurs the version of the template file will be bumped and * the readme will list any important changes. * * @see https://docs.woocommerce.com/document/template-structure/ * @author WooThemes * @package WooCommerce/Templates/Emails * @version 2.5.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * @hooked WC_Emails::email_header() Output the email header */ do_action( 'woocommerce_email_header', $email_heading, $email ); ?> <p><?php _e( "Your order has been received and is now being processed. Your order details are shown below for your reference:", 'woocommerce' ); ?></p> <?php /** * @hooked WC_Emails::order_details() Shows the order details table. * @hooked WC_Structured_Data::generate_order_data() Generates structured data. * @hooked WC_Structured_Data::output_structured_data() Outputs structured data. * @since 2.5.0 */ do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email ); /** * @hooked WC_Emails::order_meta() Shows order meta data. */ do_action( 'woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text, $email ); /** * @hooked WC_Emails::customer_details() Shows customer details * @hooked WC_Emails::email_address() Shows email address */ do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email ); /** * @hooked WC_Emails::email_footer() Output the email footer */ do_action( 'woocommerce_email_footer', $email );