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:

Woo 3.5.1 a chyba v emailech zákazníkům

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

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *