1

在Woocommerce高级自定义字段的插件,我们增加了一个自定义字段产品这个字段的值是具体每个产品添加自定义字段值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

欢迎堆栈溢出。您正在使用Wordpress功能来获取WooCommerce字段,并且我99%确定这是问题所在。您需要使用WooCommerce函数或类属性来获取自定义字段。我不知道自定义字段插件的运作方式,但我猜测您需要使用WC_Product类来获取WooCommerce产品的属性。 – fred2

回答

0

当你的自定义字段是特定于“产品”后型号(但不是以“订单”后型),你需要得到第一顺序的项目得到产品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>'; 
     } 
    } 

<? 

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


参考文献:

相关问题