电子邮件或页面中的Woocommerce“订单状态到完成”按钮

时间:2018-03-01 21:19:10

标签: woocommerce status orders

我需要在电子邮件或html / php页面中放置一个按钮,当点击它时,将$ order更改为已完成而不是处理。

1 个答案:

答案 0 :(得分:0)

这样的事情是一个基本的开始:

<form method="post">
<input type="hidden" name="mark_as_received" value="true">
<input type="hidden" name="order_id" value="<?php echo esc_attr($order_id);?>"> 
<input type="submit" value="Confirm">
</form>

add_action( 'wp_loaded', 'confirm_handler' );
function confirm_handler(){

    // not a "mark as received" form submission
    if ( ! isset( $_POST['mark_as_received'] ) ){
        return;
    }

    if ( ! isset( $_POST['order_id'] ) ){
        $order_id = intval( $_POST['order_id'] );
        $order = wc_get_order( $order_id );
        $order->update_status( "completed" );
        return;
    }   
}