我们最近将客户端的WordPress WooCommerce安装更新到3.1.x.随后,我们不得不更新一些自定义代码,因为现在使用的方法已被弃用,并且会抛出警告。
代码在订单完成时向发送给客户的电子邮件添加了货件跟踪代码和自定义优惠券的元数据。 这是更新前的代码:
<h2 style="color:#464446">Tracking Code: <?php echo get_post_meta( $order->id, 'parzel_tracking_code', true ); ?></h2>
<?$custom_coupon = get_post_meta( $order->id, 'custom_coupon_message', true );
并在更新后:
<h2 style="color:#464446">Tracking Code: <?php echo $order->get_meta( 'parzel_tracking_code', true ); ?></h2>
<?$custom_coupon = $order->get_meta( 'custom_coupon_message', true );
然而,这现在引发了一个新问题:发送给客户的自动电子邮件不再显示元数据。如果在WooCommerce中手动重新发送相同的按订单完成的邮件(即使在订单生成后立即),新发送的电子邮件中的所有数据都会正常显示,就像更新之前一样。
有关如何将电子邮件恢复正常工作的想法吗?
更新
我们在&#34; customer-completed-order.php&#34;中使用此代码作为我们自定义wordpress主题中的重写模板文件。我们的代码是在
之后插入的`do_action( 'woocommerce_email_order_meta', $order, $sent_to_admin,
$plain_text, $email );`
该文件是版本2.5.0,除了上述添加
之外没有其他任何改变