Nell’articolo di oggi scopriamo come aggiungere metodi di spedizione personalizzati a Woocommerce.
Woocommerce non offre di default la possibilità di aggiungere in modo autonomo i moduli di spedizione, ma si limita di fatto a:
- Modulo italia
- Flat rate (Eu o paesi specifici)
- Spedizione mondo
- Ritiro in sede
- Spedizione gratis
Ma è possibile aggiungere metodi di spedizione personalizzati? Ecco il codice da inserire:
File: functions.php del vostro tema.
Nel file di esempio aggiungiamo – ad esempio – un flat rate di spedizione “express” piu veloce per l’Italia.
/* Plugin Name: Spedizione Italia - Express Plugin URI: http://www.targetweb.it/aggiungere-metodi-di-spedizione-personalizzati-a-woocommerce/ Description: Spedizione Italia - Express plugin Version: 1.0.0 Author: Targetweb Author URI: http://www.targetweb.it/ */ /** * Check se Woocommerce è attivo */ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) { function shipping_italia_express_init() { if ( ! class_exists( 'WC_Shipping_Italia_Express_Method' ) ) { class WC_Shipping_Italia_Express_Method extends WC_Shipping_Method { /** * Costruisco la classe di shipping * * @access public * @return void */ public function __construct() { $this->id = 'shipping_italia_express'; // Id univoco per il metodo di spedizione $this->method_title = __( 'Spedizione Italia - Express ' ); // titolo in area admin $this->method_description = __( 'Spedizione Italia - Express 1-2 giorni lavorativi' ); // descrizione area admin $this->enabled = "yes"; // Abilitato di default? $this->title = "Spedizione Italia - Express"; // Titolo della spedizione, è possibile renderlo dinamico $this->init(); } /** * Inizializzo * * @access public * @return void */ function init() { $this->init_form_fields(); $this->init_settings(); // Salvataggio add_action( 'woocommerce_update_options_shipping_' . $this->id, array( $this, 'process_admin_options' ) ); } /** * Funzione di calcolo * * @access public * @param mixed $package * @return void */ public function calculate_shipping( $package ) { $rate = array( 'id' => $this->id, 'label' => $this->title, 'cost' => '14.00', // prezzo da impostare 'calc_tax' => 'per_order' // possibilità di fare un prezzo per_order o per_item ); $this->add_rate( $rate ); } } } } add_action( 'woocommerce_shipping_init', 'shipping_italia_express_init' ); function add_your_shipping_method( $methods ) { $methods[] = 'WC_Shipping_Italia_Express_Method'; return $methods; } add_filter( 'woocommerce_shipping_methods', 'add_your_shipping_method' ); }
Vi invito a visionare i commenti al codice per ulteriori delucidazioni.
Grazie a queste poche righe di codice riuscirete facilmente ad aggiungere dei custom shipping method utilissimi per estendere le funzionalità del vostro shop online!
Questo articolo ti è stato utile? Condividilo sui tuoi social network preferiti!
L'articolo Aggiungere metodi di spedizione personalizzati a Woocommerce sembra essere il primo su Target Web.it.