WooCommerce: отмеченный по умолчанию чекбокс на странице оформления заказа

1 авг. 2013 г., 07:09:16
Просмотры: 29.4K
Голосов: 4

Я создал собственные чекбоксы на странице оформления заказа через файл 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' ));
0
Все ответы на вопрос 2
3

Я не думаю, что ответ 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');

С уважением, Джеймс

3 апр. 2014 г. 20:28:05
Комментарии

это правильно и работает. предыдущий ответ я не проверял, потому что он выглядел немного сомнительным.

Eolis Eolis
23 февр. 2018 г. 01:10:49

Это работает прекрасно. спасибо, приятель

Faisal Ramzan Faisal Ramzan
16 февр. 2021 г. 11:17:50

Пожалуйста. Рад, что помог! :-)

Boycott A.I. Boycott A.I.
19 февр. 2021 г. 17:42:59
2

В 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 );
1 авг. 2013 г. 07:37:45
Комментарии

Не подскажете, как добавить радиокнопки на страницу оформления заказа?

dan dan
1 авг. 2013 г. 07:50:52

Вы не можете... Добавьте флажки, которые всегда отмечены, используя код выше. Затем добавьте немного JavaScript, чтобы предотвратить возможность выбора более одного флажка с одинаковым именем.

gmazzap gmazzap
1 авг. 2013 г. 08:16:42