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

Advanced custom fields - Getting the fields values in completed email notification

我使用 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>

您的问题是您必须以这种方式使用 $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); ?>