Avisos
Vaciar todo

[Resuelto] Como saber si un checkbox opcional fue marcado o no

6 Respuestas
2 Usuarios
0 Reactions
36 Visitas
Respuestas: 14
Active Member
Topic starter
 

Buen día

Tengo varios checkbox al finalizar la compra, pero uno de ellos es opcional, como podría yo saber si este opcional fue marcado o no por el usuario??

 

gracias de antemano.

screenshot(32)

 

Contenido solo visible a usuarios registrados


 
Respondido : 31/05/2021 8:54 am
Pepe
 Pepe
Respuestas: 41115
Illustrious Member Admin
 

Hola Josep.

como añadiste esos Check ?

No los veo en la pagina de finalizar compra:

screenshot www.ludikadventures.com 2021.05.31 11 30 33

Si puedes añadirlos y nos indicas como los añadiste seria de ayuda.

 

Un saludo

 


 
Respondido : 31/05/2021 9:38 am
Respuestas: 14
Active Member
Topic starter
 

Vale, ahora creo podrá verlo, no se por qué no se mostraba, al final he logrado añadir la política opcional que deseo con el siguiente código (que he encontrado y adaptado), pero me sale separado el checkbox

del resto, cómo podría hacer para mostrarlo seguido del resto

screenshot(33)

el cod es el siguiente:

// Añadir un campo checkbox al checkout y al anadir_estado_pedido_enviado_a_estados

add_action( 'woocommerce_review_order_before_submit', 'anadir_campo_checkbox_checkout' );
function anadir_campo_checkbox_checkout() {
echo '<div id="campo-envio-instrucciones">';

woocommerce_form_field( 'cliente_quiere_instrucciones', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('He llegit i accepto les condicions de la <a href="https://escolaemergencies.cat/politica-de-drets-dimatge/" target="_blank">Política de drets d’imatge.</a>'),
), WC()->checkout->get_value( 'cliente_quiere_instrucciones' ) );
echo '</div>';
}

// Guardar el campo del checkout en los meta del pedido, cuando se ha checkeado el checkbox
add_action( 'woocommerce_checkout_update_order_meta', 'actualizar_meta_campo_checkout_instrucciones', 10, 1 );
function actualizar_meta_campo_checkout_instrucciones( $order_id ) {

if ( ! empty( $_POST['cliente_quiere_instrucciones'] ) )
update_post_meta( $order_id, 'cliente_quiere_instrucciones', $_POST['cliente_quiere_instrucciones'] );
}

// Mostrar el resultado del campo checkout en el admin del pedido
add_action( 'woocommerce_admin_order_data_after_billing_address', 'mostrar_campo_checkout_detalles_pedido_admin', 10, 1 );
function mostrar_campo_checkout_detalles_pedido_admin( $order ){
$cliente_quiere_instrucciones = get_post_meta( $order->get_id(), 'cliente_quiere_instrucciones', true );
if( $cliente_quiere_instrucciones == 1 ) {
echo '<p><strong>¿Accepta les polítiques d imatge?: </strong> <span style="color:red;">SI</span></p>';
} else {
echo '<p><strong>¿Accepta les polítiques d imatge?: </strong> <span style="color:black;">NO</span></p>';
}
}

 


 
Respondido : 31/05/2021 10:20 am
Pepe
 Pepe
Respuestas: 41115
Illustrious Member Admin
 

Hola Josep.

Prueba con lo siguiente:

.woocommerce form .form-row::before, .woocommerce-page form .form-row::before {
display:none;
}

 

Puedes añadirlo en apariencia -> Personalizar -> CSS Adicional

 

Un saludo


 
Respondido : 31/05/2021 11:34 am
Respuestas: 14
Active Member
Topic starter
 

@pepesoler muchísimas gracias, ha funcionado a la perfección, como siempre usted de gran ayuda.


 
Respondido : 31/05/2021 12:42 pm
Pepe
 Pepe
Respuestas: 41115
Illustrious Member Admin
 

Hola Josep.

Genial !!! me alegra que lo solucionaras.

Cualquier consulta que tengas no dudes en comunicarlo.

 

Cerramos el tema.

un saludo


 
Respondido : 31/05/2021 1:03 pm