WooCommerce: отмеченный по умолчанию чекбокс на странице оформления заказа
Я создал собственные чекбоксы на странице оформления заказа через файл functions.php, но хотел бы, чтобы один из них был отмечен по умолчанию. Как это сделать?
woocommerce_form_field( 'my_checkbox1', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('Стандартная доставка (2-7 дней, БЕСПЛАТНО!) <span>Большинство товаров доставляется БЕСПЛАТНО по Таиланду.</span>'),
'required' => false,
'value' => true,
), $checkout->get_value( 'my_checkbox1' ));

Я не думаю, что ответ G. M. правильный.
Как он намекнул, я не думаю, что имеет значение, какое значение вы укажете для третьего параметра. (Кстати, элемента 'value' в массиве args даже не существует - см. http://docs.woothemes.com/wc-apidocs/source-function-woocommerce_form_field.html#1568-1787 )
Вам нужно установить значение 'default' в массиве args равным 1. Например:
woocommerce_form_field( 'my_checkbox1', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('Стандартная доставка (2–7 дней, БЕСПЛАТНО!) <span>Большинство товаров доставляются БЕСПЛАТНО по Таиланду.</span>'),
'required' => false,
'value' => true,
'default' => 1 //Это предварительно выберет чекбокс
), 'whatever');
С уважением, Джеймс

В WooCommerce чекбоксы всегда имеют значение '1'.
Поэтому вам не нужно передавать 'value' => true
: это ничего не даст.
Для установки состояния чекбокса (отмечен или нет) WooCommerce использует WP функцию checked, где сравнивается 1 (целое число) со значением, которое вы передаете третьим параметром в woocommerce_form_field
.
Передайте 1 в качестве значения по умолчанию, и ваш чекбокс будет отмечен по умолчанию.
$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' => __('Стандартная доставка (2–7 дней, БЕСПЛАТНО!) <span>Большинство товаров доставляется БЕСПЛАТНО по Таиланду.</span>'),
'required' => false,
), $checked );
