Woocommerce设置新订单状态

时间:2018-10-24 20:16:08

标签: php wordpress woocommerce hook-woocommerce

我的商店中有数字和实体产品。我想在订购数字产品的订单时收到一封单独的电子邮件,而不使用订单状态已完成的电子邮件。

我想到的解决方法是创建自定义状态,然后为该状态创建新的电子邮件。

我已经成功创建了订单状态,我的问题是在下订单时设置状态。这是我的代码:

add_action( 'woocommerce_thankyou', 'change_order_status', 10, 1 );
function change_order_status( $order_id){

$order = wc_get_order( $order_id );
foreach ( $order->get_items() as $item_id => $item_values ) {

// Product_id
$product_id = $item_values->get_product_id(); 

// OR the Product id from the item data
$item_data = $item_values->get_data();
$product_id = $item_data['product_id'];

# Targeting a defined product ID
if ( $product_id == 437 ) {
$order->update_status('digital-completed');
}   


}
}

使用此代码,订单首先设置为“已完成”,然后将其更新为我的自定义状态。这意味着买方将收到两封电子邮件,一封用于完成状态,另一种用于我的自定义状态。

我正在努力寻找一种方法,以便在首次下订单时将其设置为自定义状态。

有更好的方法吗?

谢谢!

0 个答案:

没有答案