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).
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!
REST API DOKAN
Link alla documentazione per le REST API https://wedevsofficial.github.io/dokan/
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",
"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.