¿Cómo eliminar el estado del pedido de WooCommerce?

Resuelto user3004586 asked hace 54 años • 1 respuestas

Me gustaría modificar una función contenida en woocommerce. Esta es mi función editada ( 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 );
}

Intenté cargar una nueva función dentro del function.phparchivo en el tema secundario, pero parece que no funciona.

Lo que quiero lograr es eliminar el elemento de pedido "Procesando" del menú de estado. También probé con CSS pero no son compatibles.

select option[value="wc-processing"] {display: none !important;}
user3004586 avatar Jan 01 '70 08:01 user3004586
Aceptado

Necesitas usar filtros. Érase una vez, escribí lo que creo que es un buen tutorial que explica los filtros de WordPress.

En este caso el resultado final sería:

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' );

Tenga en cuenta que el estado de procesamiento es el estado predeterminado cuando se crea un pedido, por lo que es posible que deba realizar otros cambios para compensar su eliminación.

helgatheviking avatar Aug 31 '2016 15:08 helgatheviking