我的商店中有数字和实体产品。我想在订购数字产品的订单时收到一封单独的电子邮件,而不使用订单状态已完成的电子邮件。
我想到的解决方法是创建自定义状态,然后为该状态创建新的电子邮件。
我已经成功创建了订单状态,我的问题是在下订单时设置状态。这是我的代码:
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');
}
}
}
使用此代码,订单首先设置为“已完成”,然后将其更新为我的自定义状态。这意味着买方将收到两封电子邮件,一封用于完成状态,另一种用于我的自定义状态。
我正在努力寻找一种方法,以便在首次下订单时将其设置为自定义状态。
有更好的方法吗?
谢谢!