Outlet WP
DOKAN Multi-Vendor
Pagina ufficiale https://wedevs.com/
Per il nostro utilizzo servirebbe acquistare la versione Professional a 190€/anno.
Il pacchetto ha incluso la gestione PIVA sia del Vendor che del Cliente (modulo EU Compliance Fields).
Se non risulta attivo, attivarlo dal sottomenu di Dokan->Modules->EU Compliance.
Registrazione Cliente/Vendor
Nella pagina di registrazione utente, c'è la possibilità di scelta tra CLIENTE e VENDOR.
Per disabilitare la possibilità di registrarsi manualmente come Vendor ho dovuto modificare il tema figlio nascondendolo da css:
/*NASCONDO IL BOX DI REGISTRAZIONE COME CLIENTE O VENDITORE*/
.form-row.form-group.user-role.vendor-customer-registration{
display:none;
}
Stranezza:
Dopo un aggiornamento di WooCommerce è sparita la possibilità di registrarsi.
Ho notato che non era più flaggata l'opzione Permetti ai clienti di creare un account nella pagina "Il mio account" in WooCommerce --> Impostazioni --> Account & Privacy --> Creazione dell'account
Dominio di Test
https://dokan.dbdemo47.com/
utente: admin
password: W3bm0b1l!
IMPORTANTE
Nell'ambiente di test, nel file wp-config.php inserire le costanti
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_ENVIRONMENT_TYPE', 'local' ); // Importante per Application Passwords da locale
Mentre in quello di produzione oltre a WP_ENVIRONMENT_TYPE rimuovere WP_DEBUG altrimenti vengono caricate le connessioni di test.
WP_DEBUG_LOG può rimanere in produzione.
Server di Produzione
È necessario che ci siano le seguenti route nel file di loopback /etc/hosts
192.168.250.10 ARIEL ws.designbest.com img.designbest.com immagini.designbest.com
192.168.250.20 JASMINE ws.dbdemo47.com test.wm4pr.com
E installare Memcached - Gestione della cache
Nel Virtual Host inserire la direttiva
TimeOut 900
Plugin
Dopo la pulizia, scaricare
- Child Theme Configurator
- WooCommerce
- Dokan
Attivare tutto.
Scaricare Dokan PRO dal sito webdevs.com e installarlo e attivarlo.
Inserire il License Code. La licenza attiva in automatico il modulo obbligatorio EU Compliance Fields.
Scaricare il tema Sway da themeforest e aggiungerlo tramite Aspetto->Temi
.
Installare nell'ordine
- Redux (che in Plugin si chiamerà Template Library and Redux Framework)
- KeyDesign Addon cliccandoci sopra (è buggato, a volte non va)
- EnvatoMarket (che manda sul sito e fa scaricare lo zip)
REST API DOKAN
Link alla documentazione per le REST API https://wedevsofficial.github.io/dokan/
Application Passwords
Wordpress fino al 2020 non era pronto alle REST API e non permetteva che vi fossero chiamate dall'esterno del sito (se non con l'uso di plugin).
Dal 2020 ha introdotto le Application Passwords.
In pratica, tramite la dashboard, è possibile generare un numero qualsiasi di password per un utente e utilizzare queste con una normale chiamata in Basic Auth.
È più sicuro perché non passa in chiaro la vera password ed è gestito nativamente da Wordpress.
Tramite API è anche possibile generare una Application Password , prendere il valore della nuova password generata, revocare la password.
Vendors
Di default un nuovo Vendor non può pubblicare direttamente i suoi prodotti, ma deve attendere una revisione.
Possiamo cambiare questo comportamento nel menu di gestione Utenti alla voce Publishing -> Publish product directly.
Il Vendor una volta effettuato il login, per vedere la sua dashboard, dovrà andare all'indirizzo /dashboard
Creare un utente Vendor
Prima dobbiamo registrare i seguenti usermeta nel file functions.php del tema figlio:
register_meta( 'user', 'dokan_publishing', array( 'type'=>'string', 'description' => 'Pubblica i prodotti direttamente', 'single' => true, 'show_in_rest' => true) );
register_meta( 'user', 'dokan_enable_selling', array( 'type'=>'string', 'description' => 'Negozio abilitato alla vendita di prodotti', 'single' => true, 'show_in_rest' => true) );
register_meta( 'user', 'dokan_feature_seller', array( 'type'=>'string', 'description' => 'Negozio in evidenza', 'single' => true, 'show_in_rest' => true) );
register_meta( 'user', 'dokan_admin_percentage', array( 'type'=>'string', 'description' => 'Percentuale commissione', 'single' => true, 'show_in_rest' => true) );
register_meta( 'user', 'dokan_admin_percentage_type', array( 'type'=>'string', 'description' => 'Tipo commissione', 'single' => true, 'show_in_rest' => true) );
POST -> /wp-json/wp/v2/users
{
"username": "slm001",
"email": "salumi@gnam.prova",
"password": "650",
"roles": "seller",
"meta":{
"dokan_publishing": "no",
"dokan_enable_selling": "yes",
"dokan_feature_seller": "no",
"dokan_admin_percentage":"",
"dokan_admin_percentage_type":"flat"
}
}
dokan_publishing --> Abilita la pubblicazione di prodotti direttamente senza moderazione.
dokan_enable_selling --> Abilita il Negozio/Vendor alla vendita di prodotti.
dokan_feature_seller --> Negozio in Evidenza.
dokan_admin_percentage e dokan_admin_percentage_type --> Si riferiscono alla commisione da applicare al Vendor (vengono ereditate dalle impostazioni generali se non le mettiamo).
Ora che l'utente/Vendor è stato creato possiamo aggiungergli ulteriori informazioni tramite un update:
PUT-> /wp-json/dokan/v1/settings
Le credenziali saranno quelle del Vendor appena inserito.
{
"store_name" : "Prova 018 Arredamenti",
"phone": "01119211500",
"banner": false,
"vat_number": "",
"address": {
"street_1": "Via Fasulla 123",
"street_2": "",
"city": "Torino",
"zip": "10100",
"country": "IT",
"state": "TO"
},
"social":{
"fb":"https://facebook_social_link.com",
"gplus":false,
"twitter": false,
"pinterest": false,
"linkedin": false,
"youtube": false,
"instagram": "https://instagram_social_link.com",
"flickr": false
}
}
Products
Per aggiungere un prodotto ad un Vendor, dobbiamo chiamare la seguente API autenticati con i dati del vendor (se mi autentico con utente piripicchio il prodotto sarà dello store piripicchio).
POST -> /wp-json/dokan/v1/products/
{
"name": "Sedia chiappona",
"type": "simple",
"price": "350",
"regular_price": "350",
"sale_price": "299",
"manage_stock": true,
"stock_quantity": 1,
"description": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.",
"short_description": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.",
"categories": [
{
"id": 67
}
],
"images": [
{
"src": "https://litb-cgis.rightinthebox.com/images/640x640/202203/bps/product/inc/uwdagr1647929641933.jpg",
"position": 0
},
{
"src": "https://litb-cgis.rightinthebox.com/images/640x640/202203/bps/product/inc/stspzs1647929642243.jpg",
"position": 1
}
]
}
Traduzioni
Per creare le traduzioni è necessario usare poedit.
L' idea è quella di utilizzare la struttura di localizzazioni del plugin che si trova nel file
/wp-content/plugins/dokan/languages/dokan-lite.pot
che espone solo la struttura delle traduzioni nel "linguaggio neutro".
NB
Ricordarsi, in caso di modifica, di riassegnare i permessi 775 e l'owner www-data:www-data
altrimenti durante gli aggiornamenti di Dokan segnala errore.
Una volta aperto con poedit creare una nuova traduzione per la lingua italiana, compilare tutti i campi e salvare per ritrovarsi 2 file
it_IT.poleggibile da umani (con poedit)it_IT.moleggibile dalla macchina (WP)
Piazzare questi due file nella cartella /wp-content/languages/plugins/ con i seguenti nomi:
/wp-content/languages/plugins/dokan-lite-it_IT.po /wp-content/languages/plugins/dokan-lite-it_IT.mo
Traduzioni parziali della community
Esistono delle traduzioni parziali (al momento italiano è al 55%) sul sito
https://translate.wordpress.org/projects/wp-plugins/dokan-lite
pronte all'uso.
Basta scaricare i file .po e .mo e piazzarli in /wp-content/languages/plugins/.
Per modificare le traduzioni aprire il file .po con poedit e al salvataggio si genera anche il .mo. Sostituire sul server.
Scheda Prodotto/Occasione
Necessità di nascondere il pulsante di acquisto solo per alcuni prodotti outlet, ma non ecommerce.