add_filter( 'woocommerce_valid_order_statuses_for_cancel', 'dmm_add_cancel_button', 20, 2 );
function dmm_add_cancel_button( $statuses, $order = '' ){
// Imposta qui gli stati dell'ordine in cui si vuole che appaia il pulsante di annullamento dell'ordine
$custom_statuses = array( 'pending', 'processing', 'on-hold', 'failed' );
// Imposta qui le ore disponibili per annullare l'ordine (1*60*60= 1 ora)
$duration = 3*60*60; // 3 ore
if( ! is_object( $order ) && isset($_GET['order_id']) )
$order = wc_get_order( absint( $_GET['order_id'] ) );
$delay = $duration;
$date_created_time = strtotime($order->get_date_created());
$date_modified_time = strtotime($order->get_date_modified());
$now = strtotime("now");
if ( ( $date_created_time + $delay ) >= $now ) return $custom_statuses;
else return $statuses;
}
.woocommerce-button.button.cancel {
background-color: #000000; \* Modifica qui il colore del pulsante
}
.woocommerce-button.button.cancel:hover {
background-color: #474747; \* Modifica qui il colore del pulsante al passaggio del mouse
}
.woocommerce-button.button.cancel::after {
content: '\00a0ordine'; \* Aggiunge " ordine" al testo del pulsante
}
Copia il codice nel file functions.php del tuo tema child attivo o utilizza il plugin Code Snippets