Casilla de verificación personalizada marcada en la página de pago de Woocommerce

1 ago 2013, 07:09:16
Vistas: 29.4K
Votos: 4

He creado casillas de verificación personalizadas en la página de pago a través del archivo functions.php, pero me gustaría que una de ellas esté marcada por defecto, ¿cómo puedo hacer esto?

woocommerce_form_field( 'my_checkbox1', array( 
'type' => 'checkbox', 
'class' => array('input-checkbox'), 
'label' => __('Envío Estándar (2-7 Días, ¡GRATIS!) <span>La mayoría de los artículos se envían SIN CARGO dentro de Tailandia.</span>'), 
'required' => false, 
'value'  => true, // Establece el valor predeterminado como true para marcar la casilla
'default' => 1, // Agrega esta línea para asegurar que la casilla esté marcada por defecto
), $checkout->get_value( 'my_checkbox1' ));
0
Todas las respuestas a la pregunta 2
3

No creo que la respuesta de G. M. sea correcta.

Como él mencionó, no creo que haga ninguna diferencia qué valor especifiques para el tercer parámetro. (Por cierto, el elemento 'value' en el array args ni siquiera existe - ver http://docs.woothemes.com/wc-apidocs/source-function-woocommerce_form_field.html#1568-1787 )

Lo que necesitas hacer es establecer el valor 'default' en el array args a 1. Por ejemplo:

woocommerce_form_field( 'my_checkbox1', array( 
    'type' => 'checkbox', 
    'class' => array('input-checkbox'), 
    'label' => __('Envío estándar (2–7 días, ¡GRATIS!) <span>La mayoría de artículos se envían SIN COSTO dentro de Tailandia.</span>'), 
    'required' => false, 
    'value'  => true, 
    'default' => 1 // Esto preseleccionará el checkbox
), 'whatever');

Saludos, James

3 abr 2014 20:28:05
Comentarios

esto es correcto y funciona. la respuesta anterior no la probé porque parecía un poco falsa.

Eolis Eolis
23 feb 2018 01:10:49

Esto funciona de maravilla. gracias colega

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

De nada. ¡Me alegra que te haya ayudado! :-)

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

En WooCommerce, las casillas de verificación siempre tienen un valor de '1'.

Por lo tanto, no necesitas pasar 'value' => true: no hace nada.

Para establecer si una casilla de verificación está marcada o no, WooCommerce utiliza la función WP checked donde 1 (entero) se compara con el valor que pasas como tercer parámetro en woocommerce_form_field.

Pasa 1 como valor predeterminado y tu casilla de verificación estará marcada por defecto.

$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' => __('Envío estándar (2–7 días, ¡GRATIS!) <span>La mayoría de los artículos se envían SIN CARGO dentro de Tailandia.</span>'), 
  'required' => false,
), $checked );
1 ago 2013 07:37:45
Comentarios

¿Sabrías cómo agregar botones de radio a la página de pago por casualidad?

dan dan
1 ago 2013 07:50:52

No puedes... Agrega casillas de verificación que siempre estén marcadas usando el código de arriba. Luego añade algo de javascript para evitar que alguien pueda marcar más de una casilla con el mismo nombre.

gmazzap gmazzap
1 ago 2013 08:16:42