WooCommerce - 替换电子邮件模板中的运输标签

时间:2018-04-13 12:15:52

标签: wordpress templates woocommerce hook-woocommerce

也许这是一个重复但我真的有问题可以在Google,Stackoverflow等任何地方找到它。

我总是在WooCommerce中更改电子邮件模板的问题,它非常烦人且不方便用户使用。但我的问题是,我在哪里或如何改变"运输"客户和管理员收到的电子邮件模板中的标签?

我是否需要添加一些钩子或者我可以在php文件中替换它吗?

我已经搜索过php文件而无法找到它......

有人有想法吗?

1 个答案:

答案 0 :(得分:0)

在Woo-commerce中发送了许多电子邮件,并且还有许多模板将特定订单数据引入电子邮件本身。要查找这些模板,您可以访问:

woocommerce / templates / emails /(这是在插件文件夹中)

此时您要做的是基本上复制您要编辑的电子邮件模板,并将其保存在以下位置:your_theme / woocommerce / emails /。这样做本质上是创建Woo-commerce使用的主模板的子模板,这样在插件更新的情况下,您不会丢失对相应电子邮件模板所做的任何更改。

如果您希望...例如编辑管理员在下新订单时获得的电子邮件,此模板位于此处(在您的插件文件夹中)woocommerce / templates / emails / admin-new-order.php

以下是相应模板中的实际代码,以便您知道自己找到了正确的代码:

<?php
/**
 * Admin new order email
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/emails/admin-new-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/HTML
 * @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 printf( __( 'You have received an order from %s. The order is as follows:', 'woocommerce' ), $order->get_formatted_billing_full_name() ); ?></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 );

请记住,这些模板本身中仍有许多钩子,您可能需要根据您在模板中尝试实际更改的内容进行连接,但是在大多数情况下,因为您现在知道在哪里找到它们,这应该是相对直接的。

希望这有帮助!祝你好运:)