我想動態生成woocommerce優惠券代碼。如何使用編程代碼動態生成woocommerce優惠券代碼
我的要求是,完成訂單後,在管理端自動生成一個優惠券代碼woocommerce優惠券代碼列表中的特定產品。
所以任何人都知道我的上述要求的解決方案,然後請幫助我。
謝謝, Ketan。
我想動態生成woocommerce優惠券代碼。如何使用編程代碼動態生成woocommerce優惠券代碼
我的要求是,完成訂單後,在管理端自動生成一個優惠券代碼woocommerce優惠券代碼列表中的特定產品。
所以任何人都知道我的上述要求的解決方案,然後請幫助我。
謝謝, Ketan。
您可以使用woocommerce_order_status_completed
操作掛鉤完成訂單。並使用wp_insert_post
爲coupan創建帖子類型爲shop_coupon
。檢查下面的代碼
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', '');
update_post_meta($new_coupon_id, 'expiry_date', '');
update_post_meta($new_coupon_id, '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);
編寫一個函數,當訂單已完成或使用woocommerce_order_status_completed
或woocommerce_order_status_processing
掛鉤進行放置時將觸發該功能。在函數內部,使用wp_insert_post
創建shop_coupon類型的帖子。使用wp_insert_post,您可以指定優惠券的名稱,金額等。
謝謝尼爾k,爲您的重播。 我會嘗試你的解決方案並更新你。 謝謝。 – Ketan
感謝Ankur,爲您的重播。 我會嘗試你的解決方案並更新你。 謝謝。 – Ketan
嗨Ankur, 在我的functions.php文件中添加上面的代碼後,網站無法正常工作在前端和後端顯示空白白屏。 所以,你可以請檢閱你的上述代碼,並在這裏更新我。 謝謝。 – Ketan
$ coupon_code ='UNIQUECODE'$ order_id;這一行錯誤。請在UNIQUECODE和$ order_id之間加上'.'。請檢查已編輯的答案 –