порядок статусов не меняется после нажатия кнопки Подтвердить - PullRequest
0 голосов
/ 28 мая 2020

Как клиент, когда я нажимаю кнопку «Утвердить», статус не меняется, а уведомление о завершении заказа не появляется в «Моя учетная запись»> «заказ»> (id-заказ). Вот код, который я использую для php:

//Add an approval button on the order
add_filter('woocommerce_my_account_my_orders_actions','add_approved_order_my_account_orders_actions', 50, 2 );

function add_approved_order_my_account_orders_actions( $actions, $order ) {

$required_order_status = 'processing'; // Order status that requires to be approved
$approved_order_status = 'completed'; // Approved order status

 if( $order->has_status($required_order_status) ) {
     $actions['approve_order'] = array(
        'url'  => $order->get_view_order_url(),
        'name' => __( 'Approve', 'woocommerce' )
    );                                                                       
}

 if( isset($_POST["approve_order"]) && $_POST["approve_order"] == $approved_button_text
&& $order->has_status( $required_order_status ) ) {
    $order->update_status( $approved_order_status ); // Change order status
}

return $actions ;
}

// My account > View Order: Add a custom notice when order is approved
add_action( 'woocommerce_order_details_before_order_table','approved_order_message' );
function approved_order_message( $order ){
// Avoiding displaying buttons on email notification
if( ! ( is_wc_endpoint_url( 'view-order' ) || is_wc_endpoint_url( 'order-received' ) ) ) return;

$approved_order_status = 'completed'; // Approved order status

if( $order->has_status( $approved_order_status ) ) {
    wc_print_notice(  __("This order is approved", "woocommerce"), 'success' ); // Message
}
}

Образец изображения:

До клика

После клика

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...