2

Ich habe einige Felder auf der WooCommerce Bestellungen Seite mit Advanced Custom Fields (ACF) Plugin hinzugefügt, um als Tracking-Informationen zu arbeiten. Im Wesentlichen möchte ich, dass der Administrator diese Informationen ausfüllt und sie werden in der ausgefüllten E-Mail an den Kunden gesendet, sobald die Bestellung als abgeschlossen markiert wurde.Erweiterte benutzerdefinierte Felder - Abrufen der Felder Werte in abgeschlossenen E-Mail-Benachrichtigung

Weiß jemand, wie ich die ACF-Werte bekommen kann?

Unten ist der Code in meiner Datei. Offensichtlich funktioniert es nicht.

$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> 

Antwort

2

Ihr Problem ist, dass Sie die $ order_id anstelle des Order-Objekt auf diese Weise verwenden:

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

Dies sollte funktionieren, und Sie nicht eine Instanz des $, um Objekt erhalten müssen in deinem Code.

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

+1

Also das ist, was ich tat zunächst und es hat nicht funktioniert. Benutzerfehler, ich habe Bindestriche anstelle von Unterstrichen verwendet. Dumm. Vielen Dank. – vytfla

Verwandte Themen