Max Loyd
He creado un sitio de comercio electrónico utilizando Woocommerce. Me gustaría agregar dos casillas de verificación más debajo de los términos y condiciones. He buscado en todas partes una solución que funcione y lo único que encontré es un complemento comercial.
¿Cómo agregar campos de pago personalizados (2 casillas de verificación) debajo de los términos y condiciones mediante programación?
Ubicación de la captura de pantalla de términos y condiciones:
- La primera función enganchada muestra los 2 campos de pago adicionales
- La segunda función enganchada verificará que ambas casillas de verificación estén “seleccionadas” para permitir el pago, mostrando un aviso de error personalizado si no…
El código:
add_action('woocommerce_checkout_before_terms_and_conditions', 'checkout_additional_checkboxes');
function checkout_additional_checkboxes( ){
$checkbox1_text = __( "My first checkbox text", "woocommerce" );
$checkbox2_text = __( "My Second checkbox text", "woocommerce" );
?>
<p class="form-row custom-checkboxes">
<label class="woocommerce-form__label checkbox custom-one">
<input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="custom_one" > <span><?php echo $checkbox1_text; ?></span> <span class="required">*</span>
</label>
<label class="woocommerce-form__label checkbox custom-two">
<input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="custom_two" > <span><?php echo $checkbox2_text; ?></span> <span class="required">*</span>
</label>
</p>
<?php
}
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');
function my_custom_checkout_field_process() {
// Check if set, if its not set add an error.
if ( ! $_POST['custom_one'] )
wc_add_notice( __( 'You must accept "My first checkbox".' ), 'error' );
if ( ! $_POST['custom_two'] )
wc_add_notice( __( 'You must accept "My second checkbox".' ), 'error' );
}
El código va en el archivo function.php de su tema secundario activo (tema activo).
Probado y funciona.
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.
No creo que PHP sea la solución. Es posible que pueda modificar la plantilla de los términos. Debería echar un vistazo a la procedencia de este contenido e intentar anular la plantilla. Si no está en una plantilla, puede estar conectado a un ‘gancho’.
– ikdekker
14 de febrero de 2018 a las 9:14
Busqué en Internet y vi que había una manera de agregarlo en la plantilla que hice, pero no funcionó.
–Max Loyd
14 de febrero de 2018 a las 13:47
@LoicTheAztec Sí, acabo de hacer eso.
–Max Loyd
25 de febrero de 2018 a las 10:18