高级自定义字段 - 在已完成的电子邮件通知中获取字段值

时间:2017-02-23 17:49:57

标签: php wordpress woocommerce advanced-custom-fields email-notifications

我使用Advanced Custom Fields (ACF)插件在WooCommerce订单页面中添加了一些字段作为跟踪信息。基本上我希望管理员填写此信息,一旦他们的订单标记完成,它将在完成的电子邮件中发送给客户。

有谁知道如何获得ACF值?

以下是我的customer-completed-order.php文件中的代码。显然它不起作用。

$order = new WC_Order($order_id);

//set tracking variables from advanced custom fields plugin
$tracking   = get_field('tracking-code', $order);
$carrier    = get_field('carrier-name', $order);
$date       = get_field('pickup_date', $order);

<p>Your order has been picked up by <?php echo $carrier; ?> on <?php echo $date; ?>. Your tracking code is <?php echo $tracking; ?>.</p>

1 个答案:

答案 0 :(得分:2)

您的问题是您必须使用$ order_id而不是订单对象:

//set tracking variables from advanced custom fields plugin
$tracking   = get_field('tracking-code', $order_id);
$carrier    = get_field('carrier-name', $order_id);
$date       = get_field('pickup_date', $order_id);

?>

<p>Your order has been picked up by <?php echo $carrier; ?> on <?php echo $date; ?>. Your tracking code is <?php echo $tracking; ?>.</p>

这应该可行,您不需要在代码中获取$ order对象的实例。

参考:<?php $field = get_field($field_name, $post_id, $format_value); ?>