Caseta de selectare personalizată bifată în pagina de finalizare comandă WooCommerce
Am creat casete de selectare personalizate în pagina de finalizare comandă prin fișierul functions.php, dar aș dori ca una dintre ele să fie bifată implicit. Cum pot face acest lucru?
woocommerce_form_field( 'my_checkbox1', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('Livrare Standard (2-7 Zile, GRATUIT!) <span>Majoritatea produselor sunt livrate GRATUIT în Thailand.</span>'),
'required' => false,
'value' => true,
'default' => 1, // Adaugă această linie pentru a bifa caseta implicit
), $checkout->get_value( 'my_checkbox1' ));

Nu cred că răspunsul lui G. M. este corect.
După cum a sugerat și el, nu cred că va face vreo diferență ce valoare specifici pentru al treilea parametru. (Apropo, elementul 'value' în array-ul args nici măcar nu există - vezi http://docs.woothemes.com/wc-apidocs/source-function-woocommerce_form_field.html#1568-1787 )
Ceea ce trebuie să faci este să setezi valoarea 'default' în array-ul args la 1. De exemplu,
woocommerce_form_field( 'my_checkbox1', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('Transport Standard (2–7 Zile, GRATUIT!) <span>Majoritatea articolelor sunt expediate GRATUIT în Thailandia.</span>'),
'required' => false,
'value' => true,
'default' => 1 //Aceasta va pre-selecta checkbox-ul
), 'whatever');
Noroc, James

În WooCommerce, casetele de bifare au întotdeauna valoarea '1'.
Deci nu este necesar să treci 'value' => true
: nu are niciun efect.
Pentru a seta dacă o casetă de bifare este bifată sau nu, WooCommerce utilizează funcția WP checked unde 1 (întreg) este comparat cu valoarea pe care o transmiți ca al treilea parametru în woocommerce_form_field
.
Transmite 1 ca valoare implicită și caseta ta de bifare va fi bifată implicit.
$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' => __('Livrare Standard (2–7 Zile, GRATUIT!) <span>Majoritatea articolelor sunt expediate GRATUIT în Thailanda.</span>'),
'required' => false,
), $checked );
