首页 文章

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

提问于
浏览
2

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

有谁知道如何获得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 回答

  • 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); ?>

相关问题