Casella di spunta personalizzata spuntata nella pagina di checkout di Woocommerce

1 ago 2013, 07:09:16
Visualizzazioni: 29.4K
Voti: 4

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' ));
0
Tutte le risposte alla domanda 2
3

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

3 apr 2014 20:28:05
Commenti

questo è corretto e funziona. la risposta precedente non l'ho testata perché sembrava un po' fasulla.

Eolis Eolis
23 feb 2018 01:10:49

Funziona perfettamente. grazie amico

Faisal Ramzan Faisal Ramzan
16 feb 2021 11:17:50

Prego. Felice di essere stato d'aiuto! :-)

Boycott A.I. Boycott A.I.
19 feb 2021 17:42:59
2

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 );
1 ago 2013 07:37:45
Commenti

Sapresti per caso come aggiungere pulsanti Radio alla pagina di checkout?

dan dan
1 ago 2013 07:50:52

Non puoi... Aggiungi caselle di controllo che siano sempre selezionate utilizzando il codice sopra. Poi aggiungi un po' di javascript per impedire che qualcuno possa selezionare più di una casella di controllo con lo stesso nome.

gmazzap gmazzap
1 ago 2013 08:16:42