¿Cómo eliminar el estado del pedido de WooCommerce?
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.php
archivo 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;}
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.