我使用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>
答案 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); ?>