Мля!
Ленивый ... Просто замените все это сейчас.
Если кто-то может найти более чистый, красивый и безопасный способ ... Пожалуйста.
add_filter('woocommerce_admin_order_preview_actions','remove_complete',20,2); function remove_complete( $actions, $order ){
$actions = array();
$status_actions = array();
if ( $order->has_status( array( 'pending', 'on-hold' ) ) ) {
$status_actions['processing'] = array(
'url' => wp_nonce_url( admin_url( 'admin-ajax.php?action=woocommerce_mark_order_status&status=processing&order_id=' . $order->get_id() ), 'woocommerce-mark-order-status' ),
'name' => __( 'Approve', 'woocommerce' ),
'action' => 'processing',
);
}
if ( $order->has_status( array( 'processing' ) ) ) {
$status_actions['complete'] = array(
'url' => wp_nonce_url( admin_url( 'admin-ajax.php?action=woocommerce_mark_order_status&status=completed&order_id=' . $order->get_id() ), 'woocommerce-mark-order-status' ),
'name' => __( 'Complete', 'woocommerce' ),
'action' => 'complete',
);
}
if ( $status_actions ) {
$actions['status'] = array(
'group' => __( 'Change status: ', 'woocommerce' ),
'actions' => $status_actions,
);
}
return $actions; }