我的客户是一家快递公司,正在使用能够同时跟踪WooCommerce订单号和ID的快递软件,这意味着它需要订单号和标识("wc_order_abcdefg"(才能工作,我相信这在post_password列的phpmyadmin数据库中。
完整的跟踪ID类似于:wc_order_abcdefg.66
因此,在WooCommerce电子邮件设置中,它只有{order_number}。如何为{order_id}创建一个?
看起来,您的发货跟踪编号是{order_key}.{order_number}
。一旦您获得了order
对象,您就可以简单地使用:$order->get_order_key()
来获得它的密钥。
{order_key}
不可用作电子邮件占位符。因此,为了将其包含在发送给客户的电子邮件中,根据您希望其显示的位置,您有不同的选项。例如:
-
您可以在电子邮件正文中包含跟踪号码。在这种情况下,您可以覆盖其中一个WooCommerce电子邮件模板(例如
email-order-details.php
(。有关如何覆盖模板的更多信息,请参阅WooCommerce文档。 -
您可以在电子邮件的主题中包含跟踪号码。在这种情况下,可以使用
woocommerce_email_subject_customer_completed_order
过滤器。例如(这个片段应该添加到你的functions.php中(:add_filter( 'woocommerce_email_subject_customer_completed_order', 'add_tracking_number_to_email_subject', 1, 2 ); function add_tracking_number_to_email_subject( $subject, $order ) { return sprintf( 'Thank you for your order! Your shipment tracking number is: %s.%s', $order->get_order_key(), $order->get_id() ); }