如何在每个销售的woocommerce产品单元的订单电子邮件中添加Unique nos

时间:2016-08-06 06:57:47

标签: wordpress woocommerce

我想通过电子邮件发送每个销售产品数量的随机唯一商品

例如: 买家购买2件产品 - A&乙 A - 4数量 B - 5数量

然后是买家和订单的订单的电子邮件。管理员收到应该有一些 独特的nos(nos将随机生成,因此无法预测)

A的4个独特的n &安培; B的5个独特的nos

相同的号码将通过电子邮件发送给管理员和买方

I edited the file  
woocommerce\emails\email-order-items.php

echo "<br>";
for($ri=0;$ri<$item['qty'];$ri++){
echo rand(10000, 90000);
echo',';
}

随机编号被添加,但不同的商品通过电子邮件发送给买家和购买者。管理员

所以我想这种方法不起作用。

所以请帮我一些替代

1 个答案:

答案 0 :(得分:0)

如果这对您有帮助,我找到了解决方案。我认为您可以在产品销售时在数据库订单商品元中存储唯一的nos。将此挂钩放在活动主题functions.php文件中。

add_action( 'woocommerce_add_order_item_meta', 'add_random_number_item_meta', 10, 2 );

function add_random_number_item_meta( $item_id, $item_data ){
  // store each product item quantity in array
  $random = array();
  for( $i = 0; $i < $item_data['quantity']; $i++ )
  $random[$i] = rand(10000, 90000);
  // save unique numbers array each order item
  wc_add_order_item_meta( $item_id, '_unique_nos', $random );   

}

在此电子邮件中打印每个订单商品的唯一编号。

//woocommerce\emails\email-order-items.php

 $unique_numbers = wc_get_order_item_meta( $item_id,  '_unique_nos', true );
 echo implode( "," , $unique_numbers );

// This will be same both for admin or customer

以后保存的唯一号码可以在管理员订单仪表板中显示。

经测试:Woocommerce 2.6.x