问题描述
如何在完成订单后动态创建优惠券(以客户的姓氏命名)?
ES。客户:John Black
我需要动态创建一个名为BLACK的优惠券代码
提前谢谢!
编辑:下面的代码创建一个称为UNIQUECODE的代码。我必须动态更改客户的姓氏。
感谢您的帮助。
function action_woocommerce_order_status_completed( $order_id ) {
$order = wc_get_order( $order_id );
$order_items = $order->get_items();
// Iterating through each item in the order
$item_quantity=0;
foreach ($order_items as $item_id => $item_data) {
$item_quantity=$order->get_item_meta($item_id,'_qty',true);
if($item_quantity>1){
$product_ids[]=$item_data['product_id'];
$coupon_code = 'UNIQUECODE'.$order_id.$item_id; // Code
$amount = '10'; // Amount
$discount_type = 'fixed_cart'; // Type: fixed_cart,percent,fixed_product,percent_product
$coupon = array(
'post_title' => $coupon_code,'post_content' => '','post_status' => 'publish','post_author' => 1,'post_type' => 'shop_coupon'
);
$new_coupon_id = wp_insert_post( $coupon );
// Add meta
update_post_meta( $new_coupon_id,'discount_type',$discount_type );
update_post_meta( $new_coupon_id,'coupon_amount',$amount );
update_post_meta( $new_coupon_id,'individual_use','no' );
update_post_meta( $new_coupon_id,'product_ids',$product_ids );
update_post_meta( $new_coupon_id,'exclude_product_ids','' );
update_post_meta( $new_coupon_id,'usage_limit','expiry_date','apply_before_tax','yes' );
update_post_meta( $new_coupon_id,'free_shipping','no' );
unset($product_ids);
}
}
};
// add the action
add_action( 'woocommerce_order_status_completed','action_woocommerce_order_status_completed',10,1 );
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)