1. Casa
  2. Knowledge Base
  3. WooCommerce Wholesale Prices Premium
  4. Spedizione
  5. Come sovrascrivere l'impostazione "Solo all'ingrosso" per determinati metodi di spedizione

Come sovrascrivere l'impostazione "Solo all'ingrosso" per determinati metodi di spedizione

Se offri metodi di spedizione che solo i clienti all'ingrosso dovrebbero vedere, come il Ritiro in zona o un servizio di trasporto merci, puoi nasconderli ai clienti al dettaglio e agli ospiti. Questo articolo mostra come rendere i metodi di spedizione solo per l'ingrosso in WooCommerce Wholesale Prices Premium, sia tutti in una volta che un metodo alla volta. Copre anche un filtro per sviluppatori che mostra nuovamente i metodi selezionati ai clienti non all'ingrosso.

Prerequisiti

Due modi per rendere un metodo di spedizione solo per l'ingrosso

Entrambe le opzioni si trovano nella stessa schermata delle impostazioni. Utilizza l'impostazione globale per nascondere ogni metodo mappato, oppure utilizza l'opzione per metodo per nascondere solo i metodi che scegli.

Nascondi tutti i metodi di spedizione mappati

  1. Vai su Wholesale > Impostazioni > Prezzi all'ingrosso > Spedizione.
  2. Seleziona Metodi di spedizione solo all'ingrosso.
  3. Fai clic su Salva modifiche.
Commercio all'ingrosso > Impostazioni > Prezzi all'ingrosso > Spedizione con la casella di controllo Metodi di spedizione solo per il commercio all'ingrosso selezionata

Ogni metodo di spedizione nella tua tabella di mappatura è ora nascosto ai clienti al dettaglio e agli ospiti. I clienti all'ingrosso vedono ancora i metodi associati al loro ruolo.

Per mostrare anche i normali metodi di spedizione al dettaglio ai clienti all'ingrosso, seleziona Consenti anche ai clienti all'ingrosso di utilizzare i normali metodi di spedizione al dettaglio nella stessa schermata. Questa opzione è disponibile in WooCommerce Wholesale Prices Premium 2.1.3 e versioni successive.

Nascondi un singolo metodo di spedizione mappato

Disponibile in WooCommerce Wholesale Prices Premium 2.1.0 e versioni successive.

  1. Vai su Wholesale > Impostazioni > Prezzi all'ingrosso > Spedizione.
  2. Sotto Metodi di spedizione non zonati, scegli il Ruolo all'ingrosso, le Zone di spedizione e i Metodi di zona di spedizione.
  3. Per un metodo di spedizione non zonata, imposta Usa metodi di spedizione non zonati su Sì e scegli il metodo in Metodi di zona di spedizione non zonata.
  4. Imposta Solo all'ingrosso? su Sì.
  5. Fai clic su Add Mapping.

Per modificare una mappatura esistente, fai clic sull'icona di modifica nella colonna Azione, imposta Solo all'ingrosso? su Sì, quindi fai clic su Salva campo personalizzato.

Modulo di mappatura spedizione con Solo per il commercio all'ingrosso? impostato su Sì, sopra la tabella di mappatura

Quel metodo di spedizione è ora nascosto ai clienti al dettaglio e agli ospiti, anche se l'impostazione globale Metodi di spedizione solo all'ingrosso è disattivata. I clienti all'ingrosso lo vedono ancora. Altri metodi mappati con Solo all'ingrosso? impostato su No rimangono visibili ai clienti al dettaglio e agli ospiti, a meno che l'impostazione globale non sia attiva. Puoi controllare lo stato di ogni mappatura nella colonna Solo all'ingrosso? della tabella.

Mostra i metodi di spedizione selezionati come solo per il commercio all'ingrosso ai clienti non all'ingrosso (sviluppatori)

A volte si desidera che la maggior parte dei metodi mappati rimanga solo per il commercio all'ingrosso, con alcune eccezioni. Il filtro wwpp_force_allow_mapped_shipping_method_for_non_wholesale consente di mostrare metodi di spedizione specifici ai clienti non all'ingrosso e agli ospiti. Sovrascrive sia l'impostazione globale Metodi di spedizione solo per il commercio all'ingrosso sia l'opzione per metodo Solo per il commercio all'ingrosso?.

Il filtro passa tre argomenti:

ArgomentoDescrizione
$allowBooleano. Predefinito su false. Restituisci true per mostrare il metodo di spedizione ai clienti non all'ingrosso.
$shipping_methodL'oggetto del metodo di spedizione di WooCommerce in fase di controllo. Usa $shipping_method->id per identificare un metodo tramite il suo ID.
$wholesale_zone_mappingArray dei tuoi ruoli all'ingrosso salvati / mappature dei metodi di spedizione.

Aggiungi uno degli snippet seguenti al file functions.php del tuo child theme o a un plugin per snippet di codice. I nomi delle funzioni sono esempi, quindi puoi rinominarli per adattarli al tuo progetto.

Per rendere disponibili tutti i metodi di spedizione non zonizzati:

// Allow all non-zoned shipping methods to be available to regular users
function allowMappedNonZonedMethodsForRegularUsers( $allow, $shipping_method, $wholesale_zone_mapping ) {

if ( ! $shipping_method->supports( 'shipping-zones' ) )
$allow = true;

return $allow;

}

add_filter( 'wwpp_force_allow_mapped_shipping_method_for_non_wholesale' , 'allowMappedNonZonedMethodsForRegularUsers', 10, 3 );

Oppure per un metodo di spedizione non zonizzato specifico:

// Allow non-zoned shipping method "Advanced Free Shipping" only to be available to regular users
function allowAdvancedFreeShippingForNonWholesale( $allow, $shipping_method, $wholesale_zone_mapping ) {

if ( ! $shipping_method->supports( 'shipping-zones' ) && $shipping_method->id == 'advanced_free_shipping' )
$allow = true;

return $allow;

}

add_filter( 'wwpp_force_allow_mapped_shipping_method_for_non_wholesale' , 'allowAdvancedFreeShippingForNonWholesale', 10, 3 );

Per consentire un metodo di spedizione diverso, sostituisci advanced_free_shipping con l'ID di quel metodo. Ad esempio, un plugin di spedizione UPS potrebbe usare ups e un plugin USPS potrebbe usare usps.

Contatta il tuo sviluppatore per scoprire l'ID del metodo di spedizione di cui hai bisogno.

Risoluzione dei problemi

I clienti al dettaglio vedono ancora un metodo di spedizione che hai impostato come solo per il commercio all'ingrosso. Verifica che il metodo sia nella tabella di mappatura nella scheda Spedizione. L'impostazione Metodi di spedizione solo per il commercio all'ingrosso e l'opzione Solo per il commercio all'ingrosso? nascondono solo i metodi mappati. Controlla anche il tuo sito per uno snippet che utilizza il filtro wwpp_force_allow_mapped_shipping_method_for_non_wholesale, poiché mostra nuovamente un metodo ai clienti non all'ingrosso.

La tua modifica non viene visualizzata in un carrello che contiene già prodotti. Rimuovi il prodotto dal carrello e aggiungilo di nuovo, oppure prova con un nuovo carrello. WooCommerce salva le tariffe di spedizione per ogni carrello, quindi un carrello esistente prima della tua modifica può ancora mostrare i vecchi metodi di spedizione.

Serve aiuto?

Se hai domande o incontri problemi, apri un ticket di supporto (clienti premium) o pubblica nel forum della community gratuito.

Questo articolo è stato utile?

Articoli Correlati

Completa il tuo acquisto