Personalitzar enviaments en les Illes Canàries en Woocommerce

De vegades en WordPress-Woocmmerce ens trobem amb personalitzacions com aquesta. Si vols enviar soles a les illes Canàries i assignar un preu diferent a cada illa? Allà va el tema fill i el functions.php al rescat.

Ací teniu l’exemple del codi que s’insereix al functions.php. Aquest codi el podeu personalitzar com vulgueu, però sempre indicant el país. En aquest cas el codi del país és el d’Espanya (ES).

/*Zones Illes Canaries Woocommerce*/
add_filter( 'woocommerce_states', 'canarias_woocommerce_zones' );

function canarias_woocommerce_zones( $zonesCanaries ) {

  $zonesCanaries['ES'] = array(
    'XX1' => 'Gran Canaria', 
    'XX2' => 'Lanzarote', 
    'XX3' => 'Fuerteventura', 
    'XX4' => 'Tenerife', 
    'XX5' => 'La Gomera', 
    'XX6' => 'La Palma', 
    'XX7' => 'El Hierro'
     
  );

  return $zonesCanaries;
}

Una vegada configurat, ens apareixeran aquestes zones a la zona d’administració de Woocommerce, on assignarem preus diferents i configuracions diferents a cadascuna d’elles:

Per exemple, personalitzarem una zona que es dirà “El Hierro”, amb el preu d’enviament per a eixa zona, i indicant-li la regió que hem personalitzat.

Una vegada les tenim totes creades, ja tenim la nostra zona d’enviaments personalitzada per a les Illes Canàries. A la pàgina de finalitzar la compra, ens apareixeran soles aquestes zones (important, soles apareixen les que indiquem!) , i ens mostrarà el preu adient a cadascuna.

Per a eliminar el codi postal del formulari de pagament:

// Deshabilitar camps del formulari de compra

add_filter( 'woocommerce_checkout_fields' , 'eliminar_check_formulari' );
function eliminar_check_formulari( $fields ) {
unset($fields['billing']['billing_postcode']);

return $fields;
}

Per a canviar lo de “Región / Provincia” per “Illes”, utilitzarem aquest codi, també al functions.php:

// Canviar provincia per Illes
add_filter( 'woocommerce_checkout_fields' , 'cambiar_nombre_state' );

function cambiar_nombre_state( $fields ) {
     $fields['billing']['billing_state']['placeholder'] = 'ISLA';
     $fields['billing']['billing_state']['label'] = 'ISLA';
     return $fields;
}

I per a situar aquest camp al principi del formulari, aquest:

// Canviar ordre dels camps

add_filter( 'woocommerce_checkout_fields', 'illa_al_principi' );
 
function illa_al_principi( $checkout_fields ) {
  $checkout_fields['billing']['billing_state']['priority'] = 4;
  return $checkout_fields;
}

Al funcitons.php podem jugar amb molts “snippets”. Podeu consultar-los al següent enllaç. Ací un llistat dels camps editables al checkout:


    Billing
        billing_first_name
        billing_last_name
        billing_company
        billing_address_1
        billing_address_2
        billing_city
        billing_postcode
        billing_country
        billing_state
        billing_email
        billing_phone
    Shipping
        shipping_first_name
        shipping_last_name
        shipping_company
        shipping_address_1
        shipping_address_2
        shipping_city
        shipping_postcode
        shipping_country
        shipping_state
    Account
        account_username
        account_password
        account_password-2
    Order
        order_comments

Leave a comment

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Información básica sobre protección de datos Ver más

  • Responsable Jordi Juan Pérez.
  • Finalidad  Moderar los comentarios. Responder las consultas.
  • Legitimación Su consentimiento.
  • Destinatarios  NICALIA.
  • Derechos Acceder, rectificar y suprimir los datos.
  • Información Adicional Puede consultar la información detallada en la Política de Privacidad.