WooCommerce - send custom email on custom order status change

后端 未结 4 755
轻奢々
轻奢々 2020-11-30 05:00

I added a custom status wc-order-confirmed:

// Register new status
function register_order_confirmed_order_status() {
    register_post_status(          


        
4条回答
  •  醉梦人生
    2020-11-30 05:42

    The hook you need is:

    woocommerce_order_status_changed

    add_action("woocommerce_order_status_changed", "my_awesome_publication_notification");
    
    function my_awesome_publication_notification($order_id, $checkout=null) {
       global $woocommerce;
       $order = new WC_Order( $order_id );
       if($order->status === 'completed' ) {
          // Create a mailer
          $mailer = $woocommerce->mailer();
    
          $message_body = __( 'Hello world!!!' );
    
          $message = $mailer->wrap_message(
            // Message head and message body.
            sprintf( __( 'Order %s received' ), $order->get_order_number() ), $message_body );
    
    
          // Cliente email, email subject and message.
         $mailer->send( $order->billing_email, sprintf( __( 'Order %s received' ), $order->get_order_number() ), $message );
         }
    
       }
    }
    

提交回复
热议问题