WooCommerce e la Necessità di Personalizzazione
WooCommerce è la piattaforma e-commerce più utilizzata al mondo, con oltre il 36% di quota di mercato tra i negozi online. La sua forza sta nella flessibilità, ma anche il negozio WooCommerce meglio configurato richiede personalizzazioni che vanno oltre le impostazioni standard. Modificare il testo dei pulsanti, aggiungere campi personalizzati al checkout, personalizzare le email di conferma, nascondere elementi dalla pagina prodotto — tutte queste operazioni richiedono codice.
WPCode è lo strumento ideale per gestire queste personalizzazioni. Invece di modificare il file functions.php del tema o installare decine di plugin per singole funzionalità, puoi creare snippet specifici per ogni personalizzazione, attivarli e disattivarli con un clic e applicare logica condizionale per caricarli solo sulle pagine WooCommerce.
In questo articolo troverai una raccolta completa di snippet pronti all’uso per personalizzare il tuo negozio WooCommerce con WPCode.

Personalizzare il Pulsante Aggiungi al Carrello
Cambiare il Testo del Pulsante
Il testo predefinito “Add to cart” o “Aggiungi al carrello” non è sempre il più efficace per le conversioni. Ecco come personalizzarlo:
// Testo pulsante nelle pagine archivio/shop
add_filter( woocommerce_product_add_to_cart_text, function( $text, $product ) {
if ( $product->is_type( simple ) ) {
return Acquista Ora;
}
if ( $product->is_type( variable ) ) {
return Seleziona Opzioni;
}
return $text;
}, 10, 2 );
// Testo pulsante nella pagina del singolo prodotto
add_filter( woocommerce_product_single_add_to_cart_text, function( $text, $product ) {
return Aggiungi al Carrello;
}, 10, 2 );
Puoi personalizzare il testo in base al tipo di prodotto (semplice, variabile, raggruppato, esterno) per un’esperienza utente più precisa.
Reindirizzare al Checkout Dopo l’Aggiunta
Per prodotti singoli o negozi con pochi articoli, reindirizzare direttamente al checkout può aumentare le conversioni:
// Reindirizza al checkout dopo l’aggiunta al carrello
add_filter( woocommerce_add_to_cart_redirect, function( $url ) {
return wc_get_checkout_url();
});
Personalizzare la Pagina Prodotto
Rimuovere le Tab
Le tab predefinite (Descrizione, Informazioni aggiuntive, Recensioni) non sono sempre necessarie:
add_filter( woocommerce_product_tabs, function( $tabs ) {
// Rimuovi la tab Informazioni aggiuntive
unset( $tabs[additional_information] );
// Rimuovi la tab Recensioni
unset( $tabs[reviews] );
// Rinomina la tab Descrizione
if ( isset( $tabs[description] ) ) {
$tabs[description][title] = Dettagli del Prodotto;
}
return $tabs;
});
Aggiungere una Tab Personalizzata
Puoi anche aggiungere tab completamente nuove, ad esempio per le istruzioni di cura o la tabella taglie:
add_filter( woocommerce_product_tabs, function( $tabs ) {
$tabs[care_instructions] = array(
title => Istruzioni di Cura,
priority => 50,
callback => function() {
echo <h2>Come Prenderti Cura del Prodotto</h2>;
echo <ul>;
echo <li>Lavare a mano con acqua fredda</li>;
echo <li>Non usare candeggina</li>;
echo <li>Asciugare all’aria</li>;
echo </ul>;
}
);
return $tabs;
});
Rimuovere lo SKU dalla Pagina Prodotto
add_filter( wc_product_sku_enabled, __return_false );
Nascondere i Prodotti Correlati
remove_action( woocommerce_after_single_product_summary, woocommerce_output_related_products, 20 );

Personalizzare la Pagina Shop
Cambiare il Numero di Prodotti per Pagina
add_filter( loop_shop_per_page, function( $cols ) {
return 24; // Mostra 24 prodotti per pagina
});
Cambiare il Numero di Colonne
add_filter( loop_shop_columns, function( $cols ) {
return 4; // 4 prodotti per riga
});
Ordinamento Predefinito
Cambia l’ordinamento predefinito dei prodotti nello shop:
add_filter( woocommerce_default_catalog_orderby, function() {
return popularity; // Ordina per popolarità
// Altre opzioni: date, price, price-desc, rating
});
Aggiungere un Badge “Nuovo”
Mostra un badge “Nuovo” sui prodotti pubblicati negli ultimi 14 giorni:
add_action( woocommerce_before_shop_loop_item_title, function() {
global $product;
$days = 14;
$created = strtotime( $product->get_date_created() );
if ( ( time() - $created ) < ( $days * DAY_IN_SECONDS ) ) {
echo <span class="new-badge" style="position:absolute; top:10px; left:10px; background:#28a745; color:#fff; padding:3px 10px; border-radius:3px; font-size:12px; font-weight:bold; z-index:1;">Nuovo</span>;
}
}, 5 );
Personalizzare il Checkout
Rimuovere Campi dal Checkout
Molti campi del checkout predefinito non sono necessari per tutti i negozi:
add_filter( woocommerce_checkout_fields, function( $fields ) {
// Rimuovi il campo Azienda
unset( $fields[billing][billing_company] );
// Rimuovi il campo Indirizzo riga 2
unset( $fields[billing][billing_address_2] );
// Rimuovi il campo Note ordine
unset( $fields[order][order_comments] );
return $fields;
});
Aggiungere un Campo Personalizzato
Aggiungi un campo personalizzato al checkout, ad esempio per il codice fiscale:
// Aggiungi il campo
add_action( woocommerce_after_checkout_billing_form, function( $checkout ) {
woocommerce_form_field( billing_cf, array(
type => text,
class => array( form-row-wide ),
label => Codice Fiscale,
placeholder => Inserisci il tuo codice fiscale,
required => true,
), $checkout->get_value( billing_cf ) );
});
// Valida il campo
add_action( woocommerce_checkout_process, function() {
if ( empty( $_POST[billing_cf] ) ) {
wc_add_notice( Il codice fiscale è obbligatorio., error );
}
});
// Salva il campo nell’ordine
add_action( woocommerce_checkout_update_order_meta, function( $order_id ) {
if ( ! empty( $_POST[billing_cf] ) ) {
update_post_meta( $order_id, _billing_cf, sanitize_text_field( $_POST[billing_cf] ) );
}
});
Impostare Spedizione Gratuita Sopra un Importo
Mostra un messaggio che informa il cliente di quanto manca per la spedizione gratuita:
add_action( woocommerce_before_cart, function() {
$min_amount = 50; // Soglia per la spedizione gratuita
$current = WC()->cart->get_subtotal();
if ( $current < $min_amount ) {
$remaining = $min_amount - $current;
wc_print_notice(
sprintf( Aggiungi €%.2f al carrello per ottenere la <strong>spedizione gratuita</strong>!, $remaining ),
notice
);
} else {
wc_print_notice( Complimenti! Hai diritto alla <strong>spedizione gratuita</strong>!, success );
}
});
Personalizzare le Email WooCommerce
Aggiungere Testo Personalizzato alle Email
add_action( woocommerce_email_before_order_table, function( $order, $sent_to_admin, $plain_text, $email ) {
if ( $email->id === customer_completed_order ) {
echo <p style="font-size:16px; color:#28a745; font-weight:bold;">Grazie per il tuo acquisto! Il tuo ordine è stato spedito.</p>;
echo <p>Se hai domande, non esitare a contattarci rispondendo a questa email.</p>;
}
}, 10, 4 );

Snippet per le Prestazioni di WooCommerce
Disabilitare gli Script WooCommerce sulle Pagine Non-Shop
WooCommerce carica i suoi script CSS e JavaScript su tutte le pagine del sito, anche dove non sono necessari. Questo snippet li carica solo sulle pagine WooCommerce:
add_action( wp_enqueue_scripts, function() {
if ( function_exists( is_woocommerce ) ) {
if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() && ! is_account_page() ) {
// Rimuovi stili
wp_dequeue_style( woocommerce-general );
wp_dequeue_style( woocommerce-layout );
wp_dequeue_style( woocommerce-smallscreen );
wp_dequeue_style( wc-blocks-style );
// Rimuovi script
wp_dequeue_script( wc-cart-fragments );
wp_dequeue_script( woocommerce );
wp_dequeue_script( wc-add-to-cart );
}
}
}, 99 );
Attenzione: questo snippet può causare problemi se hai widget WooCommerce (carrello, prodotti in evidenza) nelle sidebar di pagine non-WooCommerce. Testa attentamente prima di attivarlo.
Disabilitare il Fragment Cart Ajax
Il fragment cart è una richiesta AJAX che WooCommerce esegue a ogni caricamento di pagina per aggiornare il contatore del carrello. Su siti con molto traffico, può sovraccaricare il server:
add_action( wp_enqueue_scripts, function() {
if ( ! is_cart() && ! is_checkout() ) {
wp_dequeue_script( wc-cart-fragments );
}
}, 11 );
Snippet per la Sicurezza di WooCommerce
Disabilitare i Metodi di Pagamento per Ruolo Utente
add_filter( woocommerce_available_payment_gateways, function( $gateways ) {
if ( ! current_user_can( manage_options ) ) {
// Rimuovi il pagamento alla consegna per i non-admin
unset( $gateways[cod] );
}
return $gateways;
});
Nascondere i Prezzi ai Visitatori Non Registrati
if ( ! is_user_logged_in() ) {
// Rimuovi i prezzi
remove_action( woocommerce_after_shop_loop_item_title, woocommerce_template_loop_price, 10 );
remove_action( woocommerce_single_product_summary, woocommerce_template_single_price, 10 );
// Rimuovi il pulsante aggiungi al carrello
remove_action( woocommerce_after_shop_loop_item, woocommerce_template_loop_add_to_cart, 10 );
remove_action( woocommerce_single_product_summary, woocommerce_template_single_add_to_cart, 30 );
// Aggiungi messaggio
add_action( woocommerce_single_product_summary, function() {
echo <p class="login-to-see-price"><a href=" . wp_login_url( get_permalink() ) . ">Accedi per vedere i prezzi</a></p>;
}, 10 );
}
Organizzare gli Snippet WooCommerce
Quando gestisci molti snippet per WooCommerce, l’organizzazione è fondamentale:
- Usa il prefisso “WC -” nel titolo di ogni snippet WooCommerce
- Assegna il tag “woocommerce” a tutti gli snippet correlati
- Usa sotto-tag come “checkout”, “product”, “email”, “performance”
- Applica la logica condizionale per caricare gli snippet solo sulle pagine WooCommerce
- Documenta ogni snippet con note che spiegano lo scopo e le eventuali dipendenze
Conclusioni
WooCommerce è incredibilmente flessibile, e WPCode è lo strumento perfetto per sfruttare questa flessibilità senza rischi. Gli snippet che abbiamo visto in questo articolo coprono le personalizzazioni più richieste, dal semplice cambio di testo del pulsante alla gestione avanzata del checkout con campi personalizzati.
Ricorda: ogni modifica al negozio può influire sulle conversioni. Testa sempre le personalizzazioni su un ambiente di staging prima di attivarle in produzione, e monitora le metriche chiave (tasso di conversione, abbandono del carrello) dopo ogni modifica.
📚 Leggi anche gli altri articoli della serie WPCode
Gestisci un negozio WooCommerce e hai bisogno di personalizzazioni su misura? Contatta il team di G Tech Group. I nostri specialisti in sviluppo e-commerce possono configurare WPCode con tutti gli snippet necessari per ottimizzare il tuo negozio e massimizzare le conversioni.
Migliora il Tuo Sito WordPress
Scopri le nostre guide complete sugli altri plugin essenziali per WordPress: