Как изменить статус заказа с помощью пользовательского статуса заказа в WooCommerce - PullRequest
0 голосов
/ 05 апреля 2019

Здравствуйте, у меня есть этот код, который добавляет пользовательский статус, называемый возвратом денег, к статусу заказа.

    function register_awaiting_shipment_order_status() {
    register_post_status( 'wc-awaiting-shipment', array(
        'label'                     => 'Return',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop( 'Return <span class="count">(%s)</span>', 'Return <span class="count">(%s)</span>' )

        ) );
        register_post_status( 'wc-refund-issued', array(
            'label'                     => 'Refund Issued',
            'public'                    => true,
            'exclude_from_search'       => false,
            'show_in_admin_all_list'    => true,
            'show_in_admin_status_list' => true,
            'label_count'               => _n_noop( 'Refund Issued<span class="count">(%s)</span>', 'Refund Issued <span class="count">(%s)</span>' )

            ) );

}
add_action( 'init', 'register_awaiting_shipment_order_status' );
// Add to list of WC Order statuses
function add_awaiting_shipment_to_order_statuses( $order_statuses ) {
    $new_order_statuses = array();
    // add new order status after processing
    foreach ( $order_statuses as $key => $status ) {
        $new_order_statuses[ $key ] = $status;
        if ( 'wc-processing' === $key ) {
            $new_order_statuses['wc-awaiting-shipment'] = 'Return';
            $new_order_statuses['wc-refund-issued'] = 'Refund Issued';
        }
    }
    return $new_order_statuses;
}
add_filter( 'wc_order_statuses', 'add_awaiting_shipment_to_order_statuses' );

. Я хочу иметь возможность изменить статус пользовательского заказа через

$order->status_update('refund issued');

.но это не работает, это работает только для статуса, который уже присутствует в woocommerce, например, при обработке и обработке отложенного платежа, когда я запускаю код, он изменяет статус на ожидающий платеж вместо выданного возврата. Что я делаю не так?В конце концов, я пытаюсь сделать кнопку возврата в области заказа, чтобы пользователь мог отправить запрос на возврат текущего заказа

1 Ответ

0 голосов
/ 05 апреля 2019

Проблема решена, я назвал это неправильно, он должен быть

$order->status_update('wc-refund-issued');  

вместо

$order->status_update('refund issued');

Большое спасибо

...