2

追跡情報として機能するために、Advanced Custom Fields (ACF)プラグインを使用して、WooCommerceの注文ページにいくつかのフィールドを追加しました。基本的に私は管理者にこの情報を記入して、その注文が完了とマークされたら完了した電子メールで顧客に送信します。高度なカスタムフィールド - 完成した電子メール通知のフィールド値の取得

どのように私はACFの値を得ることができます知っていますか?

以下は、私のcustomer-completed-order.phpファイル内のコードです。明らかにそれは動作していません。

//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 = 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> 

答えて

2

あなたの問題は、あなたがこの方法をオブジェクト$ ORDER_ID代わりにオーダーを使用しなければならないことですあなたのコードで。

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

+1

だから、私が最初にやったことだし、それが動作しませんでした。ユーザーエラー、私はアンダースコアの代わりにハイフンを使用していました。愚か。ありがとうございました。 – vytfla

関連する問題