Avisos
Vaciar todo

[Resuelto] Personalizar las opciones de envío

8 Respuestas
4 Usuarios
0 Reactions
29 Visitas
Respuestas: 61
Trusted Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Me gustaria personalizar o añadir una opción para que los envíos fuera de la UE sepan que deben pagar el arancel si es necesario (los gastos aduaneros irán a cargo de los envíos fuera de la Unión Europea). El mensaje puede ir justo después de elegir el país o la ciudad.

Muchas gracias

Contenido solo visible a usuarios registrados


 
Respondido : 15/09/2023 9:08 pm
Karen Rios
Respuestas: 20058
Illustrious Member Moderator
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Hola Ferdinand, 

En este caso no veo un plugin que permita añadir lo que necesitas; sin embargo, puedes comprobar si puedes añadirlo como se menciona en el siguiente artículo que tenemos disponible → https://www.webempresa.com/blog/como-agregar-mensaje-personalizado-al-finalizar-compra-en-woocommerce-segun-el-pais-seleccionado.html

También puedes revisar algunas opciones como → Contenido solo visible a usuarios registrados

Verifícalo y nos comentas como va todo

Un saludo 

 


 
Respondido : 15/09/2023 10:02 pm
Respuestas: 61
Trusted Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@karen Buenos días, gracias por responder. De los dos enlace, no entiendo bien como hacer. Si tengo varios países, tengo que ir duplicando el código y añadiendo el id de cada país o como?. Por ejemplo, para los envíos fuera de la Unión Europea, se puedo generalizar o no?


 
Respondido : 16/09/2023 5:13 am
Pepe
 Pepe
Respuestas: 42217
Illustrious Member Admin
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Hola Ferdinand

.- Instala el siguiente plugin:

-> https://es.wordpress.org/plugins/code-snippets/

El plugin te permite añadir código sin tener que editar archivos.

Una vez instalado:

.- Accede a Fragmentos de código -> Añadir nuevo

.- Añade un título para tenerlo localizado y añade el siguiente código:

 

function add_checkout_notice() {
}

add_action( 'woocommerce_cart_totals_before_shipping', 'show_checkout_notice', 12 ); //remove if you do not want to show it on the cart page
add_action( 'woocommerce_review_order_before_submit', 'show_checkout_notice', 10 ); //remove if you do not want to show it on the checkout page

function show_checkout_notice() {

global $woocommerce;
$msg_states = array( 'ES', 'BG', 'CZ', 'DK','DE', 'BG', 'EE', 'DK','IE', 'EL', 'FR', 'IT','CY', 'LV', 'LT', 'LU','HU', 'MT', 'NL', 'AT','PL', 'PT', 'RO', 'SI', 'SK', 'FI', 'SE' );

if( !in_array( WC()->customer->shipping_country, $msg_states ) ) {
echo '<h3 style="color:red"><strong>Tenga en Cuenta:</strong> los gastos aduaneros irán a cargo de los envíos fuera de la Unión Europea</span></h3>';

}
}

 

screenshot mary52.webempresa.eu 2023.09.16 15 48 39

 

Un saludo


 
Respondido : 16/09/2023 1:52 pm
Respuestas: 61
Trusted Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@pepesoler Muchas gracias. Me ha servido pero tengo otra duda. Como puedo personalizarlo para Las Islas Canarias. Aunque España está dentro de la UE, en Las Canarias se paga aranceles.


 
Respondido : 17/09/2023 1:29 pm
Pepe
 Pepe
Respuestas: 42217
Illustrious Member Admin
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Hola Ferdinand

Podríamos hacerlo por zonas de envío, supongamos que para canarias tienes una zona de envío con el nombre " Gran Canarias y Tenerife ", el código sería el siguiente:

 

add_action( 'woocommerce_cart_totals_before_shipping' , 'mostrar_mensaje_zona_envio' );
add_action( 'woocommerce_review_order_before_submit' , 'mostrar_mensaje_zona_envio' );

function mostrar_mensaje_zona_envio() {

$targeted_zones_names = array('Gran Canarias y Tenerife'); //Zonas de envío configuradas

// Zona de envío seleccionada por el usuario
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' ); // Método de envío seleccionado
$chosen_method = explode(':', reset($chosen_methods) );
$shipping_zone = WC_Shipping_Zones::get_zone_by( 'instance_id', $chosen_method[1] );
$current_zone_name = $shipping_zone->get_zone_name();

$message = "Los gastos aduaneros, si proceden, irán a cargo del comprador.";

if( in_array( $current_zone_name, $targeted_zones_names ) ){
echo '<tr class="msg-shipping">
<td colspan="2" style="text-align:center"><h3 style="color:red"><strong>' . $message . '</strong></td></h3>
</tr>';
}
}

 

En la variable " $targeted_zones_names " le pasamos el nombre de las zonas de envío donde queremos mostrar ese mensaje, podemos añadir más de una zona separadas por comas " zona1, zona2..... "

La variable " $message " es donde definimos el mensaje que queremos que muestre.

 

Espero que esta información sea útil para lo que buscas, cualquier duda que tengas estamos aquí para poder orientarte.

 

Un Saludo


 
Respondido : 17/09/2023 3:41 pm
Respuestas: 61
Trusted Member
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@pepesoler Muchas gracias, me han servido los dos codigos.


 
Respondido : 17/09/2023 7:37 pm
Bruno
Respuestas: 6859
Illustrious Member Moderator
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Hola Ferdinand,

Es un gusto poder ayudarte, cualquier consulta que tengas estaremos atentos

Saludos!


 
Respondido : 17/09/2023 8:21 pm