我正在尝试在处理订单时Woocommerce自动发送给客户的电子邮件中显示交货日期的值。
我已经创建了一个称为“ leveranstid”的高级自定义字段值,我希望它与电子邮件中的所有产品一起显示。我试图将下面的代码添加到functions.php中,但似乎无法正常工作。什么都没显示。如果有人请帮助我找出问题所在,我将不胜感激。
add_action( 'woocommerce_order_item_meta_start',
'ts_order_item_meta_start', 10, 4 );
function ts_order_item_meta_start( $item_id, $item, $order, $plain_text
) {
$leverans = get_field(’leveranstid’, $post_id);
echo $leverans;
}
答案 0 :(得分:0)
变量$post_id
未在$leverans = get_field('leveranstid', $post_id);
中定义。而是尝试:
add_action( 'woocommerce_order_item_meta_start', 'display', 10, 4 );
function ts_order_item_meta_start( $item_id, $item, $order, $plain_text ) {
if( $leverans = get_field( 'leveranstid', $item->get_product_id() ) ;
echo $leverans;
}
如果为您的产品定义了'leveranstid'
ACF字段,它应该可以工作。
有关参考,请参见:Get Order items and WC_Order_Item_Product in Woocommerce 3
答案 1 :(得分:-1)
add_action( 'woocommerce_order_item_meta_start', 'ts_order_item_meta_start', 10, 4 );
function ts_order_item_meta_start( $item_id, $item, $order, $plain_text ) {
if( $leverans = get_field( 'leveranstid', $item->get_product_id() )) {
echo '<p>'.$leverans.'</p>';
}
}