在使用高级自定义字段插件的Woocommerce中,我们为产品添加了自定义字段,并且此字段值特定到每个产品。
现在我正在尝试将此自定义字段值添加到我们的Woocommerce订单确认电子邮件中。
我尝试了以下代码但没有成功:
<?php
if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
$order_id = int_val( $order->id ); // Older than 3.0
} else {
$order_id = int_val( $order->get_id() ); // 3.0+
}
$inst1 = get_field(‘how1’, $order_id );
if( $inst1 ){
echo '<p>' . $inst1 . '</p>';
}
?> with Advanced Custom Fields plugin
答案 0 :(得分:0)
由于您的自定义字段特定于&#34;产品&#34;发布类型(但不是&#34;订单&#34;发布类型)您需要首先获得订单商品才能获得产品ID 应该以这种方式使用ACF get_field()
函数:
<?php
foreach ( $order->get_items() as $item ) {
// Get the product ID
if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
$product_id = $item['product_id']; // Older than 3.0
} else {
$product_id = $item->get_product_id(); // 3.0+
}
$inst1 = get_field( 'how1', $product_id );
if( $inst1 ){
echo '<p>' . $inst1 . '</p>';
}
}
<?
订单中的每个商品都会显示自定义字段值,因为订单中可能包含多个商品。
参考文献: