SI VOLS UN NOU ESTAT PER A WOOCOMMERCE, QUE ENVIE UN CORREU ELECTRÓNIC, MILLOR USAR AQUEST PLUGIN:
Per crear un nou estat de Woocommerce (com processant, Espera, Completat…) , hem d’afegir aquesta funció al “functions.php” del nostre tema fill.
Es pot personalitzar el nom com vulgues. En aquest creem l’estat de “Enviado”:
/* Nuevo estado de pedido "Enviado" */
add_action( 'init', 'draugmor_nuevo_estado_pedido_enviado' );
function draugmor_nuevo_estado_pedido_enviado() {
register_post_status( 'wc-enviado', array(
'label' => _x( 'Enviado', 'Order status', 'woocommerce' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Enviado <span class="count">(%s)</span> ', 'Enviados <span class="count">(%s)</span>', 'woocommerce' )
) );
}
// Registro en wc_order_statuses.
add_filter( 'wc_order_statuses', 'draugmor_pedido_enviado' );
function draugmor_pedido_enviado( $order_statuses ) {
$order_statuses['wc-enviado'] = _x( 'Enviado', 'Order status', 'woocommerce' );
return $order_statuses;
}
// Añadir estado a acciones en lote en el orden que queramos
function rename_or_reorder_bulk_actions( $actions ) {
$actions = array(
'trash' => $actions['trash'], //Enviar a papelera
'mark_processing' => $actions['mark_processing'], //Marcar como procesando
'mark_on-hold' => $actions['mark_on-hold'], //Marcar como en espera
'mark_cancelled' => $actions['mark_cancelled'], //Marcar como cancelado
'mark_completed' => $actions['mark_completed'], //Marcar como completado
'mark_enviado' => __( 'Cambiar estado a enviado', 'textdomain' ), // El nuevo estado
);
return $actions;
}
add_filter( 'bulk_actions-edit-shop_order', 'rename_or_reorder_bulk_actions', 20 );
Per canviar-li el color al nou estat, primer crearem un fitxer CSS en el nostre tema fill, com per exemple “admin.css”.
Ací ficarem el nostre CSS personalitzat. En aquest cas, la classe CSS sería “status-enviado”:
.order-status.status-enviado{background: #2285c8;color: #fff;}
Finalment, afegim aquest arxiu CSS a la zona d’administració:
function admin_style() {
wp_enqueue_style('admin-styles', get_stylesheet_directory_uri().'/admin.css');
}
add_action('admin_enqueue_scripts', 'admin_style');