php - шорткода - популярные товары woocommerce



Как удалить статус заказа WooCommerce? (1)

Я хотел бы изменить функцию, содержащуюся в woocommerce. Это моя отредактированная функция ( woocommerce/includes/wc-order-functions.php ):

function wc_get_order_statuses() {
    $order_statuses = array(
        'wc-pending'    => _x( 'Pending Payment', 'Order status', 'woocommerce' ),
        /*'wc-processing' => _x( 'Processing', 'Order status', 'woocommerce' ),*/
        'wc-on-hold'    => _x( 'On Hold', 'Order status', 'woocommerce' ),
        'wc-completed'  => _x( 'Completed', 'Order status', 'woocommerce' ),
        'wc-cancelled'  => _x( 'Cancelled', 'Order status', 'woocommerce' ),
        'wc-refunded'   => _x( 'Refunded', 'Order status', 'woocommerce' ),
        'wc-failed'     => _x( 'Failed', 'Order status', 'woocommerce' ),
    );
    return apply_filters( 'wc_order_statuses', $order_statuses );
}

Я попытался загрузить новую функцию в файле function.php в дочернюю тему, но, похоже, не работает.

я хочу достичь, чтобы исключить пункт «Обработка» в меню состояния. Я также пробовал css, но они не поддерживают

select option[value="wc-processing"] {display: none !important;}

Вам нужно использовать фильтры. Когда-то я написал то, что, по моему мнению, хороший учебник, объясняющий фильтры WordPress

В этом случае конечным результатом будет:

function so_39252649_remove_processing_status( $statuses ){
    if( isset( $statuses['wc-processing'] ) ){
        unset( $statuses['wc-processing'] );
    }
    return $statuses;
}
add_filter( 'wc_order_statuses', 'so_39252649_remove_processing_status' );

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





themes