将自定义字段值添加到Woocommerce订单电子邮件模板

时间:2017-11-25 20:05:09

标签: php wordpress woocommerce advanced-custom-fields email-notifications

在使用高级自定义字段插件的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

1 个答案:

答案 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>';
        }
    }

<?

订单中的每个商品都会显示自定义字段值,因为订单中可能包含多个商品。

参考文献: