Come escludere il prodotto WooCommerce dai coupon

Pubblicato: 2021-11-02

Stai cercando modi per utilizzare i tuoi codici sconto in modo più efficiente? Abbiamo qualcosa per te. In questa guida, ti mostreremo diversi modi per escludere un prodotto WooCommerce dai coupon in modo che non vengano applicati sconti.

Ora che il Black Friday e il Natale si avvicinano, molti negozi online iniziano a proporre offerte e promozioni. Quando imposti i tuoi buoni sconto e li condividi online, vuoi assicurarti che non creino cali significativi nei tuoi profitti. Se le tue vendite aumentano del 25% ma il profitto per vendita diminuisce del 50% è meglio non offrire alcuno sconto.

Trovare il giusto equilibrio tra più vendite e profitti per vendita non è sempre facile. Uno dei modi migliori per farlo è mantenere alcuni prodotti senza sconti. Puoi utilizzare determinati articoli scontati come i ganci e poi provare a vendere ai tuoi clienti altri prodotti che non hanno sconti.

In questa guida, ti mostreremo diversi modi per escludere i prodotti WooCommerce dai coupon , in modo che non vengano applicati sconti.

Perché escludere i prodotti dai coupon?

L'utilizzo di buoni sconto è una strategia di marketing comune utilizzata da molti negozi WooCommerce per aumentare le vendite. Se utilizzati in modo intelligente, gli sconti possono essere vantaggiosi per le attività online. Tuttavia, possono anche creare un calo dei ricavi se non vengono applicati correttamente e l'aumento delle vendite non è almeno uguale al calo dei prezzi.

Inoltre, con cataloghi più grandi, c'è anche la possibilità di scappatoie di cui i tuoi clienti potrebbero trarre vantaggio. Ad esempio, potresti non voler applicare uno sconto a un prodotto in bundle a cui è già applicato uno sconto. Allo stesso modo, potresti finire per perdere denaro se i clienti utilizzano uno sconto su prodotti che hanno già margini ridotti.

Ecco perché è una buona opzione escludere alcuni prodotti WooCommerce dai buoni sconto. In questo modo puoi creare tutti i buoni sconto e codici che desideri assicurandoti che quei prodotti specifici non ne siano interessati.

Diamo un'occhiata a come puoi farlo e che tipo di strumenti puoi utilizzare per escludere i prodotti dagli sconti.

Come escludere un prodotto WooCommerce dai coupon

Esistono due modi principali per escludere i prodotti WooCommerce dai buoni sconto:

  1. Con le opzioni WooCommerce predefinite
  2. Programmaticamente

Diamo un'occhiata a ciascuna opzione in modo più dettagliato.

1) Escludi il prodotto WooCommerce dai coupon utilizzando le opzioni WooCommerce predefinite

WooCommerce ti offre la possibilità di disabilitare coupon specifici per determinati prodotti e categorie. Per accedere a queste opzioni, vai su WooCommerce > Coupon nella dashboard di amministrazione di WordPress.

Quindi, apri uno dei coupon che desideri escludere facendo clic su Modifica sotto il coupon. Quindi, scorri verso il basso e vai alla scheda Restrizioni di utilizzo .

escludi il prodotto woocommerce dai coupon - scheda coupon

Qui puoi utilizzare le opzioni Escludi prodotto ed Escludi categorie per escludere determinati prodotti da questo coupon specifico. Digita semplicemente il nome del prodotto nel campo Escludi prodotto o la categoria del prodotto nel campo Escludi categorie . Ad esempio, se non desideri applicare sconti al prodotto 15 e ai pacchetti di prodotti, faresti qualcosa del genere.

escludere il prodotto woocommerce dai coupon - restrizioni sui coupon

Ora, questo coupon specifico non si applicherà a quei prodotti . Tuttavia, tieni presente che tutti gli altri coupon che si applicano a quell'articolo funzioneranno a meno che tu non ripeta questa procedura nell'altro coupon.

escludi prodotto woocommerce dai coupon - prodotto escluso

Se hai molti coupon, questo processo può richiedere molto tempo perché dovresti andare uno per uno e aggiungere i prodotti che desideri escludere. La buona notizia è che esiste un modo più efficiente per farlo con un po' di codice. Vediamo come escludere i prodotti WooCommerce da tutti i coupon in modo programmatico.

2) Escludi il prodotto WooCommerce dai coupon in modo programmatico

Puoi anche escludere un prodotto WooCommerce dai buoni sconto in modo programmatico. Il vantaggio di questo metodo è che ti dà molta flessibilità per assicurarti che gli sconti non si applichino a determinati articoli. Ad esempio, puoi disabilitare gli ID prodotto specifici per i coupon o aggiungere una casella di controllo alle opzioni Dati prodotto WooCommerce.

Diamo un'occhiata a come abilitare alcune di queste opzioni.

NOTA : poiché modificheremo alcuni file principali, prima di iniziare, ti consigliamo di creare un backup del tuo sito e di installare un tema figlio se non ne hai già uno.

2.1) Escludere i prodotti WooCommerce dai coupon utilizzando l'ID prodotto

Uno dei modi più semplici per escludere i prodotti WooCommerce dai coupon è semplicemente aggiungere uno snippet di codice che disabilita il funzionamento dei coupon per un ID prodotto specifico .

Per fare ciò, devi prima trovare l'ID del prodotto. Per questo, apri la dashboard di amministrazione di WordPress , vai su Prodotti e vedrai l'elenco di tutti i tuoi prodotti WooCommerce. Passa il mouse sopra il prodotto a cui non vuoi applicare gli sconti e vedrai l' ID prodotto.

escludi il prodotto woocommerce dai coupon - ID prodotto

Annotalo e lascialo a portata di mano da qualche parte perché ti servirà per il passaggio successivo.

Successivamente, apri il file delle funzioni del tema andando su Aspetto> Editor temi . Quindi, usa la barra laterale dei file del tema a destra e apri il file functions.php .

escludere i prodotti woocommerce dai coupon - funzioni dell'editor di temi

Aggiungi il seguente snippet di codice al file ma ricorda di sostituire PRODUCT_ID con l'ID corrispondente del prodotto che desideri escludere.

 add_filter( 'woocommerce_coupon_is_valid_for_product', 'quadlayers_exclude_product_from_product_promotions', 9999, 4 );
funzione quadlayers_exclude_product_from_product_promotions ($ valido, $ prodotto, $ coupon, $ valori ) {
// SOSTITUIRE L'ID PRODOTTO (EG 145)
if ( PRODUCT_ID == $prodotto->get_id() ) {
$valido = falso;
}
ritorno $valido;
}

Il codice esclude dagli sconti gli ID prodotto da noi specificati. Ad esempio, nel nostro caso, l'ID prodotto è 145, quindi lo snippet di codice sarà:

 add_filter( 'woocommerce_coupon_is_valid_for_product', 'quadlayers_exclude_product_from_product_promotions', 9999, 4 );
funzione quadlayers_exclude_product_from_product_promotions ($ valido, $ prodotto, $ coupon, $ valori ) {
// ID PRODOTTO = 145
se ( 145 == $prodotto->get_id() ) {
$valido = falso;
}
ritorno $valido;
} 

Questo è tutto! Il prodotto che hai specificato sarà escluso da tutti i tuoi coupon. Per ulteriori informazioni su questo, controlla questo sito.

2.2) Escludere i prodotti WooCommerce in vendita dai buoni sconto

Un'altra opzione interessante è escludere dai codici coupon i prodotti che hanno già uno sconto applicato. Ad esempio, se disponi di prodotti già in vendita, puoi aggiungere uno script per assicurarti che non ricevano uno sconto aggiuntivo. Questo è molto utile quando hai una promozione delle vendite in corso nel tuo negozio e vuoi assicurarti che gli sconti non vengano applicati a nessuno dei prodotti in vendita.

Il processo per questo è simile a quello sopra. Vai semplicemente su Aspetto > Editor temi nella dashboard dell'amministratore e apri il file functions.php nella barra laterale dei file del tema a destra. Quindi incolla il seguente script per escludere dagli sconti tutti i prodotti già in saldo.

 add_filter('xa_pbu_skip_product_on_sale','ql_skip_product_on_sale_from_discount',1,2);
funzione ql_skip_product_on_sale_from_discount($return_val,$pid) { 
$prezzo_saldo = get_post_meta($pid,'_prezzo_saldo',vero); 
if( !vuoto($prezzo_svendita) ) {
restituisce vero; // escludi questo prodotto se è vero
}
ritorno $valore_ritorno;
} 

escludi prodotto woocommerce dai coupon - prodotto escluso in saldo

In alternativa, puoi utilizzare il seguente codice per escludere dai coupon determinati prodotti già in vendita. Sostituisci semplicemente l'ID prodotto con il tuo ID.

 add_filter('xa_pbu_skip_product','ql_skip_product_from_discount',1,2);
funzione ql_skip_product_from_discount($return_val,$pid) {
$pid_to_skip = array(ID PRODOTTO); // ID prodotto da escludere
if( in_array($pid,$pid_da_saltare)) {
restituisce vero; // escludi questo prodotto se è vero
}
ritorno $valore_ritorno;
}

Se vuoi aggiungere più prodotti, aggiungi semplicemente quanti ne vuoi e separali con una virgola. Puoi trovare maggiori informazioni a riguardo qui.

Aggiunta di un'opzione per escludere un prodotto WooCommerce dai coupon in modo programmatico

Se pensi che questo sia qualcosa che potresti fare spesso, eseguire il processo di cui sopra ogni volta potrebbe non essere la cosa più comoda. In tal caso, c'è un'opzione più efficiente. Puoi aggiungere una funzione personalizzata che aggiunge una casella di controllo al back-end e ti consente di disabilitare i coupon singolarmente per ogni prodotto.

Puoi semplicemente aggiungere questo snippet a tutti i tuoi articoli e in seguito decidere quali prodotti WooCommerce vuoi escludere dai coupon e quando. Questa è un'opzione interessante perché ti consente di rendere dinamica quell'opzione selezionando o deselezionando quella casella di controllo invece di dover aggiungere e rimuovere lo script dal file functions.php .

Per fare ciò, nella dashboard dell'amministratore vai su Aspetto > Editor temi e apri il file functions.php nella barra laterale File tema .

escludere i prodotti woocommerce dai coupon - funzioni dell'editor di temi

Ora vai avanti e incolla questo codice nell'editor:

 // Crea un campo personalizzato nella scheda Impostazioni generali del prodotto
add_action( 'woocommerce_product_options_general_product_data', 'ql_add_custom_field_general_product_fields' );
funzione ql_add_custom_field_general_product_fields(){
posta $ globale;

echo '<div class="product_custom_field">';

// Campo casella di controllo prodotto personalizzato
woocommerce_wp_checkbox( array(
'id' => '_disabled_for_coupons',
'label' => __('Disabilitato per coupon', 'woocommerce'),
'description' => __('Disabilita questo prodotto dagli sconti coupon', 'woocommerce'),
'desc_tip' => 'vero',
) );

eco '</div>';;
}

// Salva il campo personalizzato e aggiorna tutti gli ID prodotto esclusi nelle impostazioni di WP
add_action( 'woocommerce_process_product_meta', 'ql_save_custom_field_general_product_fields', 10, 1 );
funzione ql_save_custom_field_general_product_fields($post_id){

$current_disabled = isset($_POST['_disabled_for_coupons'] ) ? 'si No';

$disabled_products = get_option('_products_disabled_for_coupons');
if( empty($disabled_products) ) {
if( $current_disabled == 'sì' )
$prodotti_disabili = array($id_post);
} altro {
if( $current_disabled == 'sì' ) {
$prodotti_disabili[] = $id_post;
$ prodotti_disabilitati = array_unique ($ prodotti_disabilitati );
} altro {
if ( ( $key = array_search( $post_id, $disabled_products ) ) !== false )
unset($disabled_products[$chiave]);
}
}

update_post_meta($post_id, '_disabled_for_coupons', $current_disabled);
update_option( '_products_disabled_for_coupons', $disabled_products);
}

// Rendi i coupon non validi a livello di prodotto
add_filter('woocommerce_coupon_is_valid_for_product', 'set_coupon_validity_for_excluded_products', 12, 4);
funzione set_coupon_validity_for_excluded_products($valido, $prodotto, $cedola, $valori){
if( ! count(get_option( '_products_disabled_for_coupons' )) > 0 ) return $valido;

$disabled_products = get_option('_products_disabled_for_coupons');
if( in_array( $product->get_id(), $disabled_products ) )
$valido = falso;

ritorno $valido;
}

// Imposta l'importo dello sconto del prodotto su zero
add_filter('woocommerce_coupon_get_discount_amount', 'zero_discount_for_excluded_products', 12, 5);
funzione zero_sconto_per_prodotti_esclusi($sconto, $importo_scontato, $elemento_carrello, $singolo, $cedola){
if( ! count(get_option( '_products_disabled_for_coupons' )) > 0 ) return $sconto;

$disabled_products = get_option('_products_disabled_for_coupons');
if( in_array( $cart_item['id_prodotto'], $disabled_products ) )
$sconto = 0;

restituire $sconto;
} 

escludi il prodotto woocommerce dai coupon - pila di prodotti esclusi

Successivamente, aggiorna il file. Ora vediamo come utilizzare quella casella di controllo personalizzata che hai appena aggiunto.

Utilizzo della funzione e dell'opzione Disabilita coupon

Vai alla sezione Prodotti e apri qualsiasi prodotto che desideri escludere dai coupon. Nella scheda Generale dei dati del prodotto dovresti ora vedere una nuova opzione chiamata Disabilitato per i coupon.

L'abilitazione di questa opzione escluderà questo prodotto WooCommerce dai buoni sconto. Se poi lo deselezioni, gli sconti verranno applicati di nuovo a questo articolo. Ricordarsi di salvare le modifiche e controllare il front-end per assicurarsi che tutto funzioni come previsto.

Conclusione

Tutto sommato, escludere alcuni articoli dagli sconti è una buona alternativa per massimizzare le entrate anche quando offri offerte. Potresti voler applicare sconti a determinati prodotti ma non ad altri perché i tuoi margini sono già abbastanza ridotti o hanno già applicato uno sconto ad esempio.

In questa guida, abbiamo visto diversi modi per saltare ed escludere un prodotto WooCommerce dai coupon:

  • Utilizzando le opzioni predefinite di WooCommerce
  • Esclusione a livello di codice di singoli prodotti, tutti i prodotti o solo articoli in vendita utilizzando gli ID prodotto
  • Aggiunta di uno script personalizzato per includere un'opzione nel back-end per disabilitare i coupon per prodotti specifici

Se hai domande su uno di questi passaggi, faccelo sapere nella sezione commenti qui sotto e faremo del nostro meglio per aiutarti.

Infine, se stai cercando ulteriori modi per impostare sconti e i modi migliori per utilizzarli, ti consigliamo di consultare le seguenti guide:

  • Come applicare automaticamente i coupon WooCommerce
  • Come creare e impostare coupon WooCommerce
  • Crea e applica coupon WooCommerce: la guida completa