Chi Siamo Area Clienti Promo del Mese Dicono di Noi Portfolio FAQ Blog
Senza categoria

WPCode e WooCommerce: Snippet per Personalizzare il Negozio

· 8 min di lettura

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.

Snippet WooCommerce nella libreria di 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&rsquo;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 );

Personalizzazione WooCommerce tramite WPCode

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 &euro;%.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 );

Stato e personalizzazione del negozio WooCommerce

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:

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:

#e-commerce #personalizzazione #Snippet #Woocommerce #WPCode