Outlet WP: differenze tra le versioni

Da Webmobili Wiki.
Riga 74: Riga 74:
* '''WPBakery Page Builder''' e attivarlo con la licenza ([http://wiki.wmdemo.it/index.php?title=Magazine_WP#Plugin_a_pagamento_-_Aggiornamenti qui dettagli])
* '''WPBakery Page Builder''' e attivarlo con la licenza ([http://wiki.wmdemo.it/index.php?title=Magazine_WP#Plugin_a_pagamento_-_Aggiornamenti qui dettagli])
* '''EnvatoMarket''' (che manda sul sito e fa scaricare lo zip)
* '''EnvatoMarket''' (che manda sul sito e fa scaricare lo zip)
<br/>


Installare il plugin '''Designbest Outlet''' caricando lo zip.
Installare il plugin '''Designbest Outlet''' caricando lo zip.<br/>
 
Installare '''W3 Total Cache'''


== REST API DOKAN ==
== REST API DOKAN ==

Versione delle 11:51, 12 dic 2022

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 (passare dalla pagina Install Required Plugin perché il click normale è buggato)
  • WPBakery Page Builder e attivarlo con la licenza (qui dettagli)
  • EnvatoMarket (che manda sul sito e fa scaricare lo zip)

Installare il plugin Designbest Outlet caricando lo zip.

Installare W3 Total Cache

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.po leggibile da umani (con poedit)
  • it_IT.mo leggibile 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.

https://www.cloudways.com/blog/how-to-remove-hide-or-disable-add-to-cart-button-in-woocommerce/#remove-button-from-specific-products