Avisos
Vaciar todo

Añadir nueva casilla de checkbox al finalizar la compra  

 
JOSE MANUEL
 JOSE MANUEL
Usuario activo

Buenos días. Quiero añadir un nuevo checkbox debajo del checkbox "He leído y estoy de acuerdo con los términos y condiciones de la web *" al finalizar la compra (Adjunto captura de pantalla) en la que ponga "Soy farmacéutico colegiado o distribuidora farmacéutica y estoy autorizado para realizar esta compra *." Quiero que los dos checkbox sean obligatorios para continuar con la compra, es decir, que el botón "Realizar el pedido" esté desactivado si no están ambos checkbox marcados. A su vez, quiero que la casilla "Soy farmacéutico colegiado o distribuidora farmacéutica y estoy autorizado para realizar esta compra *" solo aparezca si hay en el carrito productos de una categoría en concreto, es decir, si en el carrito se encuentran productos de la categoría test_covid, al finalizar la compra aparecerá el checkbox de "Soy farmacéutico colegiado o distribuidora farmacéutica y estoy autorizado para realizar esta compra *" además del de los términos y condiciones. He conseguido hacerlo a través de el siguiente código, excepto que el botón "Realizar el pedido" aparezca habilitado o deshabilitado según marques o no el checkbox: 

add_action( 'woocommerce_review_order_before_submit', 'checkout_checkbox_conditional' );

function checkout_checkbox_conditional() {
$page_id = 57; // Página por defecto para términos y condiciones
$notice = __( 'Soy farmacéutico colegiado o distribuidora farmacéutica y estoy autorizado para realizar esta compra', 'woo-additional-terms' );

$in_cart = false;
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];

//Comprobamos si alguno de los productos de la cesta es de la categoría 'test_covid'
if ( has_term( 'test_covid', 'product_cat', $product->id ) ) {
$in_cart = true;
break;
}
}

if ( $in_cart ) {

$page_id = 61; //Página de terminos y condiciones para la categoría específica
if ( ! isset( $page_id ) || empty( $page_id ) ) {
return NULL;
}
if ( FALSE !== strpos( $notice, '[additional-terms]' ) ) {
$notice = str_replace( '[additional-terms]', '<a href="' . esc_url( get_permalink( $page_id ) ) . '" target="_blank"> ' . esc_html( get_the_title( $page_id ) ) . '</a>', $notice );
} // End If Statement
woocommerce_form_field( 'woo_additional_terms', array(
'type' => 'checkbox',
'class' => array( 'form-row woo-additional-terms' ),
'label_class' => array( 'woocommerce-form__label woocommerce-form__label-for-checkbox checkbox' ),
'input_class' => array( 'woocommerce-form__input woocommerce-form__input-checkbox input-checkbox' ),
'required' => TRUE,
'label' => wp_kses_post( $notice )
) );
}
}

¿Qué debería añadir en este código para que el botón "Realizar el pedido" quede deshabilitado si no se marcan las dos casillas?

Este código lo he metido a través del pluging code snipe pero me está dando problemas y he tenido que eliminarlo. ¿Desde qué otro pluging puedo hacerlo?

 

Screenshot 7

Contenido solo visible a usuarios registrados

Citar
Respondido : 15/02/2022 10:52 am
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola Jose Manuel, 

En este caso no podemos indicarte que añadir en este código adicional, ya que no brindamos soporte de programación, adicional veo que para deshabilitar el botón de pagos necesitas personalizar un poco más este código si deseas puedes contactar con nuestro directorio de colaboradores quienes pueden ayudarte a añadir lo que necesitas. 

Por otro lado, que tipo de problema te genera code snippets?, ten en cuenta que el error puede provenir del código que añades y no directamente del plugin; sin embargo, si deseas puedes añadir el código directamente en el function.php del tema que usas (preferiblemente un tema hijo) y verifica si no te genera ningún tipo de error. 

Si deseas verificar otra opción para añadir un checkbox adicional puedes probar este código general que se usa para ello -> https://www.webempresa.com/foro/plugins-wordpress/colocar-checkbox-para-recibir-facturas-en-papel-en-la-pagina-de-finalizar-compra-en-woocommerce#post-375909

Verifica esto y nos comentas como ha ido todo

Un Saludo

ResponderCitar
Respondido : 15/02/2022 12:38 pm