Avisos
Vaciar todo

Trabajar con diferentes clases de tasa en la página de finalizar compra en WooCommerce

24 Respuestas
4 Usuarios
1 Reactions
107 Visitas
Respuestas: 213
Estimable Member
Topic starter
 

Hola amigos. Estoy intentando que mi tienda distinga a los clientes autónomos/empresa de los que no lo son y aplique el IRPF. 

Para ello he creado una nueva tasa en los ajustes de WooCommerce que he llamado "Autonomos" en la cual he creado las filas correspondientes para el IVA y para el IRPF como impuesto negativo.

Después mediante hooks he creado una chekbox que he configurado como no requerida, porque no todos mis clientes serán autónomos.

Después de esto realizo el proceso de validación de la checkbox para que, en caso de que esté marcada, me aplique la nueva tasa que he creado, en lugar de la tasa "estándar". 

Pero obviamente he omitido algo o estoy utilizando un hook equivocado porque aunque actualizo la página no me carga la nueva tasa que he creado. ¿Alguna idea?

Mi web es https://prueba.unifilomedia.net

Os pego a continuación el código que he colocado en el child theme en el archivo functions.php

 

"

/*MODIFICACIÓN DE LA PÁGINA DE CHECKOUT PARA AUTÓNOMOS*/

/*1)AQUÍ AÑADO LA CASILLA PARA AUTÓNOMOS*/
add_action('woocommerce_after_checkout_billing_form', 'anado_casilla_autonomo');
function anado_casilla_autonomo( $checkout) {
woocommerce_form_field( 'my_checkbox_autonomo', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('Soy autónomo/empresa'), // Pone el mensaje despues del checkbox
'required' => false, // El cliente puede no ser autónomo
), $checkout->get_value( 'my_checkbox_autonomo' ));

}

/*2)AQUÍ VALIDO Y ACTÚO EN CONSECUENCIA*/

add_filter( 'woocommerce_product_get_tax_class', 'valido_casilla_autonomo', 1,2 );
add_filter( 'woocommerce_product_variation_get_tax_class', 'valido_casilla_autonomo', 1, 2 );
add_action('woocommerce_checkout_update_order_meta', 'valido casilla autonomo',2,2);
function valido_casilla_autonomo($tax_class,$product) {
global $woocommerce;

if ((int) isset($_POST['my_checkbox_autonomo'])){
// AQUÍ TENDRÍA QUE RECUPERAR EL TOTAL Y APLICARLE EL IRPF.
// POSTERIORMENTE TENDRÍA QUE VOLCARLO DE NUEVO EN EL TOTAL Y ACTUALIZAR
//VOY A VER SI ME VALE CON ESTO
$tax_class = 'AUTONOMOS';

}
return $tax_class;

}

"

Muchas gracias de antemano.

Un saludo virtual 🙂

Contenido solo visible a usuarios registrados


 
Respondido : 17/11/2020 3:00 pm
Pepe
 Pepe
Respuestas: 41115
Illustrious Member Admin
 

Hola Carmen.

Hay un plugin para Autónomos que te puede servir para lo que buscas:

-> https://es.wordpress.org/plugins/autonomos/

 

Es posible que tengas que crear roles de usuario para diferenciar entre un usuario normal y el profesional.

Para crear roles puedes utilizar el siguiente plugin:

-> https://es.wordpress.org/plugins/user-role-editor/

 

Un saludo


 
Respondido : 17/11/2020 3:16 pm
Respuestas: 213
Estimable Member
Topic starter
 

Hola Pepe. Conozco el plugin que dices pero parece que está olvidado desde que instalé WordPress. Prefiero hacerlo con código. Gracias de antemano.

 

 


 
Respondido : 17/11/2020 3:38 pm
Pepe
 Pepe
Respuestas: 41115
Illustrious Member Admin
 

Hola Carmen.

No es un proyecto terminado y sigue recibiendo actualizaciones, la última es de hace 5 meses pero porqué no necesita ninguna actualización de código.

.- Instalas el plugin y en ajustes de WooCommerce -> Autónomos activas la casilla y añades el IRPF:

screenshot joomlero cp95.webjoomla.es 2020.11.17 16 53 35

 

Una vez eso cuando un usuario se registre o haga una compra vera una casilla para seleccionar si es autonomo

screenshot joomlero cp95.webjoomla.es 2020.11.17 16 58 23

 

En el foro no damos soporte de código, esa clase de soporte se da a través de colaboradores:

->  https://www.webempresa.com/directorio-colaboradores.html

 

En este enlace tienes las normas del foro donde ya se explica que no damos ese soporte:

-> https://www.webempresa.com/reglas.html

 

Ten en cuenta que cada Web es distinta y las modificaciones o códigos que se añadan pueden dañar la web, por eso no damos esa clase de soporte.

 

Un saludo

 


 
Respondido : 17/11/2020 4:04 pm
Respuestas: 213
Estimable Member
Topic starter
 

@pepesoler

De acuerdo Pepe. Ya lo he activado. Ahora tengo otro problemilla. El plugin "Autónomos" me genera un campo para el NIF, CIF, NIE opcional. Yo ya tenía un plugin "WC APG Campo NIF/CIF/NIE" para introducir ese mismo campo, pero de forma obligatoria. Así que ahora en la página de "Finalizar Compra" tengo el mismo campo por duplicado. ¿Sería posible eliminar el campo NIF/CIF/NIE opcional? Adjunto Captura. Muchas gracias de antemano.

 

problema campos duplicados

 

Un saludo virtual 🙂


 
Respondido : 17/11/2020 6:00 pm
Karen Rios
Respuestas: 18667
Illustrious Member Moderator
 

Hola Carmen,

Podrías probar ocultarlo con el siguiente codigo CSS, debes añadirlo en el apartado Apariencia -> Personalizar -> CSS Adicional

#billing_user_dni_field {
display: none !important;
}

Debes comprobar si al ocultar este campo no afecta al funcionamiento que deseas añadir.

Un Saludo


 
Respondido : 17/11/2020 6:56 pm
Respuestas: 213
Estimable Member
Topic starter
 

@karen

Muchas gracias Karen. Parece que funciona.

 

Un saludo 🙂


 
Respondido : 19/11/2020 12:26 pm
Karen Rios
Respuestas: 18667
Illustrious Member Moderator
 

Hola Carmen,

Enhorabuena funciona, siempre encantados de poder ayudarte.

Coméntanos si con esto podemos dar el tema como solucioando

Un Saludo 😊 


 
Respondido : 19/11/2020 12:29 pm
Respuestas: 213
Estimable Member
Topic starter
 

@karen

Me ha durado poco la felicidad. Funciona todo bien si compro como particular, pero si compro como "Autónomo" me da error si no relleno la casilla del DNI, a pesar de que en el código del plugin está puesto como no requerido, así que no sé qué hacer. Mi gozo en un pozo. ¿Alguna idea?

 

Un saludo virtual 😀 


 
Respondido : 19/11/2020 12:35 pm
Respuestas: 213
Estimable Member
Topic starter
 

Hola otra vez. Si no relleno ningún campo de DNI y no oculto el código con CSS me salen dos Mensajes de error Uno del plugin que yo tenía del plugin del DNI y otro del plugin de autónomos. 😳 


 
Respondido : 19/11/2020 12:40 pm
Karen Rios
Respuestas: 18667
Illustrious Member Moderator
 

Hola Carmen,

En este caso puede ser que el plugin requiera de esta campo para determinar la acción de tu web aun cuando no lo solicite como requerido, prueba habilitar nuevamente este campo y deshabilita el antiguo que tienes marcado como requerido.

Luego verifica si al introducirlo todo funciona de forma correcta.

Nos comentas como ha ido todo

Un Saludo


 
Respondido : 19/11/2020 12:40 pm
Respuestas: 213
Estimable Member
Topic starter
 

@karen

Ni siquiera cuando introduzco los dos campos de DNI funciona. Estoy atascada. 

 

Un saludo 😆 


 
Respondido : 19/11/2020 12:46 pm
Respuestas: 213
Estimable Member
Topic starter
 

Hola de nuevo. He desactivado el plugin que yo tenía de DNI y he probado sólo con el plugin "Autónomos" y no valida el campo DNI, es más sólo le preocupa que esté relleno o no. He puesto "Pepito" y le ha parecido de perlas. Estoy otra vez en la casilla de salida. Según me informan en el repositorio el plugin no ha sido probado con mi versión de WordPress. Francamente no sé qué hacer.

Un saludo 😀 


 
Respondido : 19/11/2020 12:57 pm
Karen Rios
Respuestas: 18667
Illustrious Member Moderator
 

Hola Carmen,

Entiendo que el campo funciona ya que valida no este vació aunque cuando indique es opcional, por ejemplo

Screenshot

Ten en cuenta que este campo debe aceptar números y letras por ello si colocas letras no te va a generar ningún error.

Un Saludo


Esta publicación ha sido modificada el hace 5 años por Karen Rios
 
Respondido : 19/11/2020 1:58 pm
Respuestas: 213
Estimable Member
Topic starter
 

@karen

Pero debería no está filtrando el tipo de datos. No sólo tiene que no estar vacío, sino que tiene que ser un DNI válido que te sirva para la factura y eso no lo hace este plugin, el otro sí. Gracias de antemano.

Un saludo 😀 


 
Respondido : 19/11/2020 2:06 pm
Página 1 / 2