WooCommerce结账页自定义复选框已勾选

时间:2013-08-01 作者:dan

iv通过函数在签出页面中创建自定义复选框。php文件,但我想其中一个被勾选我怎么做?

woocommerce_form_field( \'my_checkbox1\', array( 
\'type\' => \'checkbox\', 
\'class\' => array(\'input-checkbox\'), 
\'label\' => __(\'Standard Shipping (2–7 Days, FREE!) <span>Most items are shipped FREE OF CHARGE within Thailand.</span>\'), 
\'required\' => false, 
\'value\'  => true, 
), $checkout->get_value( \'my_checkbox1\' ));

2 个回复
最合适的回答,由SO网友:gmazzap 整理而成

在WooCommerce中,复选框的值始终为“1”。

你也是not 需要通过\'value\' => true: 它什么都不做。

要设置复选框是否选中,WooCommerce使用WPchecked function 其中,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\' => __(\'Standard Shipping (2–7 Days, FREE!) <span>Most items are shipped FREE OF CHARGE within Thailand.</span>\'), 
  \'required\' => false,
), $checked );

SO网友:ban-geoengineering

我认为通用汽车公司的答案不正确。

正如他所暗示的,我认为为第三个参数指定的值不会有任何区别。(顺便说一下,args数组中的“value”元素甚至不存在-请参阅http://docs.woothemes.com/wc-apidocs/source-function-woocommerce_form_field.html#1568-1787 )

您需要做的是将args数组中的“default”值设置为1。例如

woocommerce_form_field( \'my_checkbox1\', array( 
    \'type\' => \'checkbox\', 
    \'class\' => array(\'input-checkbox\'), 
    \'label\' => __(\'Standard Shipping (2–7 Days, FREE!) <span>Most items are shipped FREE OF CHARGE within Thailand.</span>\'), 
    \'required\' => false, 
    \'value\'  => true, 
    \'default\' => 1 //This will pre-select the checkbox
), \'whatever\');
干杯,詹姆斯

结束