Casella di spunta personalizzata spuntata nella pagina di checkout di Woocommerce
Ho creato delle caselle di spunta personalizzate nella pagina di checkout attraverso il file functions.php ma vorrei che una di queste fosse già spuntata, come posso fare?
woocommerce_form_field( 'my_checkbox1', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('Spedizione Standard (2-7 Giorni, GRATUITA!) <span>La maggior parte degli articoli viene spedita GRATUITAMENTE in Thailandia.</span>'),
'required' => false,
'value' => true,
), $checkout->get_value( 'my_checkbox1' ));

Non credo che la risposta di G. M. sia corretta.
Come ha accennato, non credo che farà alcuna differenza quale valore specifichi per il terzo parametro. (A proposito, l'elemento 'value' nell'array args non esiste nemmeno - vedi http://docs.woothemes.com/wc-apidocs/source-function-woocommerce_form_field.html#1568-1787 )
Quello che devi fare è impostare il valore 'default' nell'array args a 1. Per esempio,
woocommerce_form_field( 'my_checkbox1', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('Spedizione Standard (2–7 Giorni, GRATIS!) <span>La maggior parte degli articoli viene spedita GRATUITAMENTE in Thailandia.</span>'),
'required' => false,
'value' => true,
'default' => 1 //Questo selezionerà predefinitamente la checkbox
), 'qualunque');
Saluti, James

In WooCommerce le caselle di spunta hanno sempre un valore di '1'.
Quindi non è necessario passare 'value' => true
: non ha alcun effetto.
Per impostare una casella di spunta come selezionata o meno, WooCommerce utilizza la funzione WP checked dove 1 (intero) viene confrontato con il valore che passi come terzo parametro in woocommerce_form_field
.
Passa 1 come valore predefinito e la tua casella di spunta sarà selezionata di default.
$checked = $checkout->get_value( 'my_checkbox1' ) ? $checkout->get_value( 'my_checkbox1' ) : 1;
woocommerce_form_field( 'my_checkbox1', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('Spedizione Standard (2–7 Giorni, GRATIS!) <span>La maggior parte degli articoli viene spedita GRATUITAMENTE in Thailandia.</span>'),
'required' => false,
), $checked );
