Per impostazione predefinita, WordPress ha 6 ruoli predefiniti e WooCommerce ha 2 ruoli aggiuntivi. Pertanto, non appena attivi il tuo sito con WooCommerce hai queste opzioni:
Super amministratore: per le installazioni di rete, può gestire tutti i siti
Amministratore: può gestire tutto in un sito
Editor: possono gestire tutte le sezioni di contenuto di un sito (post, media, pagine, commenti)
Autore: può gestire solo i propri post, contenuti multimediali e visualizzare i commenti
Collaboratore: possono creare post e contenuti multimediali, ma possono solo inviarli per la revisione (nessuna pubblicazione diretta)
Abbonato: niente di speciale, solo un ruolo utente
Cliente – Registrato utilizzando i moduli WooCommerce
Shop Manager – Simile a un editor, ma solo per i contenuti relativi a WooCommerce
Questi ruoli consentono la gestione di base degli utenti. Con loro, puoi dare il giusto accesso agli utenti che ne hanno bisogno. Pertanto, per motivi di sicurezza, i diversi ruoli utente sono ottimi. Non rischierai che gli utenti vedano o modifichino contenuti che non dovrebbero.
Inoltre, puoi utilizzare plugin per visualizzare i contenuti a seconda del ruolo dell’utente. Pertanto, ad esempio, il materiale di formazione per i tuoi redattori non sarà visibile agli utenti abituali.
Ma se desideri ruoli aggiuntivi per la segmentazione dei clienti, è possibile crearne di nuovi.
Ciò consente non solo la segmentazione dei clienti, ma anche la gestione personalizzata dei contenuti. Ad esempio, puoi creare un ruolo utente cliente all’ingrosso e mostrare alcuni prodotti solo a questi utenti o offrire prodotti a prezzo all’ingrosso. Per quanto riguarda i contenuti, è possibile consentire solo ai clienti con un ruolo di abbonamento di accedere alla tua formazione VIP.
Ci sono molte possibilità e, all’interno di questo mondo di possibilità, ci sono i prezzi basati sui ruoli di WooCommerce.
Prezzi dinamici di WooCommerce in base al ruolo dell’utente
Uno degli elementi per una migliore relazione con il cliente è un trattamento equo. Ecco perché i prezzi dinamici di WooCommerce sono così importanti. Con esso, puoi offrire a diversi clienti prezzi diversi che riflettono il rapporto che hanno con te. Vediamo alcuni casi d’uso per questo.
È possibile utilizzare i prezzi WooCommerce in base al ruolo utente per i prezzi al dettaglio e all’ingrosso. Il risultato finale sono semplicemente prezzi diversi e regole di sconto diverse a seconda del tipo di utente. Questo viene impostato al momento della registrazione o da un amministratore. Pertanto, puoi impostare quali utenti provengono da quale tipo. Quindi utilizzando un plugin o un codice personalizzato vengono applicati prezzi diversi.
L’idea alla base è quella di creare un’offerta che sarà disponibile solo in base al tipo di utente. Ad esempio, se hai un negozio online e lavori con distributori, potresti voler offrire loro un prezzo all’ingrosso speciale per acquistare un prodotto all’ingrosso. Pertanto, ti assicuri vendite maggiori e, in cambio, addebiti prezzi più bassi.
Il risultato finale sono semplicemente prezzi diversi e regole di sconto diverse a seconda del tipo di utente.
C’è anche la possibilità di abbonamenti. A pagamento o gratuitamente, un abbonamento o una tessera membro è un modo per avvicinarsi ai tuoi acquirenti abituali. Quindi, puoi premiarli con sconti, sia su prodotti specifici che su tutto il sito. E il modo più semplice per implementarlo è creare un ruolo utente per i membri, quindi utilizzare i prezzi dinamici di WooCommerce.
Un altro utilizzo interessante dei prezzi variabili di WooCommerce è per i contratti con i clienti. Analogamente ai clienti all’ingrosso, alcuni clienti hanno contratti speciali che garantiscono loro schemi di prezzi diversi. Inoltre, i clienti o gli amici di lunga data possono avere uno status diverso nella tua attività. Questo stato speciale si traduce in un diverso ruolo utente WooCommerce. Questo ruolo può essere utilizzato successivamente per sconti automatici.
Come codificare il prezzo basato sui ruoli di WooCommerce
Ora che sappiamo qual è l’importanza del role pricing di WooCommerce, è tempo di trasformarlo in realtà. Se ti senti avventuroso, puoi implementare questa modifica con del codice personalizzato. Fortunatamente, WooCommerce ha molti hook che possiamo usare a questo scopo.
In breve, questo approccio si compone di 3 passaggi:
Crea il tuo ruolo WordPress personalizzato (utilizzando un plugin o un codice personalizzato) e assegnalo agli utenti desiderati. Per questo puoi utilizzare un plugin come l’editor dei ruoli utente.
Crea campi personalizzati per i tuoi prodotti WooCommerce e utilizza questi campi per memorizzare il prezzo scontato. Puoi aggiungere facilmente campi personalizzati ai tuoi prodotti utilizzando un plugin come Advanced Custom Fields.
Utilizza gli hook WooCommerce per applicare questo prezzo diverso se il ruolo dell’utente corrente è quello impostato nel passaggio 1. Questa è la parte che spiegheremo come realizzare con il codice personalizzato.
Nel nostro esempio, creeremo un ruolo utente “wholesale_user”. Quindi aggiungeremo un prezzo speciale per i nostri prodotti utilizzando un campo personalizzato chiamato “wholesale_price”.
Poiché WooCommerce ha molti tipi di prodotti diversi, ci sono molti hook che dobbiamo utilizzare. Pertanto, indichiamo semplicemente tutti gli hook per i nostri prodotti, quindi chiamiamo una funzione esterna per modificare effettivamente il prezzo di WooCommerce.
Successivamente, otteniamo il ruolo utente corrente. Quindi controlliamo se esiste un prezzo personalizzato per quel prodotto. Se c’è, restituiamo il prezzo personalizzato. Questo è tutto!
<?php // Hooks for simple, grouped, external and variation products add_filter('woocommerce_product_get_price', 'ui_custom_price_role', 99, 2 ); add_filter('woocommerce_product_get_regular_price', 'ui_custom_price_role', 99, 2 ); add_filter('woocommerce_product_variation_get_regular_price', 'ui_custom_price_role', 99, 2 ); add_filter('woocommerce_product_variation_get_price', 'ui_custom_price_role', 99, 2 ); function ui_custom_price_role( $price, $product ) { $price = ui_custom_price_handling( $price, $product ); return $price; } // Variable (price range) add_filter('woocommerce_variation_prices_price', 'ui_custom_variable_price', 99, 3 ); add_filter('woocommerce_variation_prices_regular_price', 'ui_custom_variable_price', 99, 3 ); function ui_custom_variable_price( $price, $variation, $product ) { $price = ui_custom_price_handling( $price, $product ); return $price; } //the magic happens here function ui_custom_price_handling($price, $product) { // Delete product cached price, remove comment if needed //wc_delete_product_transients($variation->get_id()); //get our current user $current_user = wp_get_current_user(); //check if the user role is the role we want if ( isset( $current_user->roles[0] ) && '' != $current_user->roles[0] && in_array( 'wholesale_user', $current_user->roles ) ) { //load the custom price for our product $custom_price = get_post_meta( $product->get_id(), 'wholesale_price', true ); //if there is a custom price, apply it if ( ! empty($custom_price) ) { $price = $custom_price; } } return $price; } ?>