也许这是一个重复但我真的有问题可以在Google,Stackoverflow等任何地方找到它。
我总是在WooCommerce中更改电子邮件模板的问题,它非常烦人且不方便用户使用。但我的问题是,我在哪里或如何改变"运输"客户和管理员收到的电子邮件模板中的标签?
我是否需要添加一些钩子或者我可以在php文件中替换它吗?
我已经搜索过php文件而无法找到它......
有人有想法吗?
答案 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 );
请记住,这些模板本身中仍有许多钩子,您可能需要根据您在模板中尝试实际更改的内容进行连接,但是在大多数情况下,因为您现在知道在哪里找到它们,这应该是相对直接的。
希望这有帮助!祝你好运:)