Расширенные настраиваемые поля - получение значений полей в заполненном уведомлении по электронной почте

Я добавил несколько полей на страницу заказов 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>

person vytfla    schedule 23.02.2017    source источник


Ответы (1)


Ваша проблема в том, что вам нужно использовать $ 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); ?>

person LoicTheAztec    schedule 23.02.2017
comment
Так я и поступил изначально, и это не сработало. Ошибка пользователя, я использовал дефисы вместо подчеркивания. Глупый. Спасибо. - person vytfla; 23.02.2017