Integrazione del toolkit Envato WordPress sul tema la libreria

Nell'ultima parte del tutorial abbiamo appreso come utilizzare la classe di attivazione del plug-in TGM per richiedere il plug-in Envato WordPress Toolkit ogni volta che il tema è in uso. Il plugin consente all'utente di installare e aggiornare temi acquistati all'interno dell'amministratore.

Questa parte successiva ti insegnerà come implementare la libreria Envato WordPress Toolkit in modo da poter controllare periodicamente quando il tema ha un aggiornamento disponibile utilizzando l'API di Envato Marketplace.

Quando un aggiornamento diventa disponibile, verrà visualizzato un avviso nell'amministratore e indirizzato l'utente al plug-in per l'aggiornamento.


1. Compresa la libreria Toolkit

Per prima cosa dovremo includere la libreria Toolkit nel nostro progetto. Scarica il file ZIP della libreria Envato WordPress Toolkit. Decomprimilo e copia la cartella Envato-wordpress-toolkit-biblioteca nel inc cartella nel tuo tema. Dovresti finire con questi percorsi:

  • MyTheme / inc / Envato-wordpress-toolkit-library / class-Envato-protetto-api.php
  • MyTheme / inc / Envato-wordpress-toolkit-library / class-Envato-wordpress-theme-upgrader.php

Nota: È possibile modificare la posizione dei file sopra per soddisfare le proprie esigenze. In alternativa, puoi scaricare l'intera fonte dal link di download nella parte superiore di questo articolo.


2. Funzione Hook ammin

Ora possiamo iniziare a programmare. Ci collegheremo al admin_init azione. Aggiungi il seguente codice al tuo functions.php:

 / ** * Caricare la libreria Envato WordPress Toolkit per verificare gli aggiornamenti * e indirizzare l'utente al plugin Toolkit se esiste una * / funzione envato_toolkit_admin_init () // Includere la libreria Toolkit include_once (get_template_directory (). '/ Inc / envato -wordpress-toolkit-library / class-envato-wordpress-theme-upgrader.php '); // Aggiungi altro codice qui add_action ('admin_init', 'envato_toolkit_admin_init');

3. Utilizzo delle informazioni sul plugin Toolkit

La libreria Toolkit richiede un nome utente Envato e una chiave API per il suo funzionamento. Poiché abbiamo richiesto il plug-in Toolkit nel tutorial precedente, possiamo utilizzare i valori immessi per il nome utente e i campi chiave API trovati nelle sue impostazioni. Se questi campi non vengono riempiti, possiamo visualizzare un avviso che chiede all'utente di inserirli nel plugin Toolkit.

 // Usa le credenziali usate nel plugin del toolkit in modo che non dobbiamo mostrare più i nostri moduli $ credenziali = get_option ('envato-wordpress-toolkit'); if (vuoto ($ credentials ['user_name']) || vuoto ($ credentials ['api_key'])) add_action ('admin_notices', 'envato_toolkit_credentials_admin_notices'); ritorno; 

Dovremo aggiungere la funzione di hook corrispondente all'esterno per visualizzare la nostra notifica di amministratore:

 / ** * Visualizza un avviso nell'amministratore per ricordare all'utente di inserire le proprie credenziali * / funzione envato_toolkit_credentials_admin_notices () $ message = sprintf (__ ("Per abilitare le notifiche di aggiornamento del tema, inserisci le credenziali di Envato Marketplace nel% s" , "default"), "Envato WordPress Toolkit Plugin"); eco "

$ Message

";

4. Aggiornamento periodico del controllo

La libreria Toolkit verifica sempre l'utilizzo dell'API Envato Marketplace per gli aggiornamenti del tema. Questo non va bene dal momento che eseguirlo ogni volta che l'utente visita una pagina di amministrazione può rallentare significativamente i tempi di caricamento delle pagine. Abbiamo solo bisogno di controllare periodicamente un aggiornamento.

Il controllo ogni 3 ore suona come una buona idea:

 // Controlla gli aggiornamenti solo dopo un po '$ lastCheck = get_option (' toolkit-last-toolkit-check '); if (false === $ lastCheck) update_option ('toolkit-last-toolkit-check', time ()); ritorno;  // Controllare un aggiornamento ogni 3 ore se (10800 < ( time() - $lastCheck ) )  return;  // Update the time we last checked update_option( 'toolkit-last-toolkit-check', time() );

5. Verifica degli aggiornamenti

Infine, possiamo controllare gli aggiornamenti usando la libreria:

 // Controlla aggiornamenti $ upgradeer = nuovo Envato_WordPress_Theme_Upgrader ($ credenziali ['user_name'], $ credentials ['api_key']); $ updates = $ upgrader-> check_for_theme_update (); // Se $ updates-> updated_themes_count == true allora abbiamo un aggiornamento!

6. Avviso di aggiornamento del tema

Da questo momento puoi scegliere di aggiornare automaticamente il tema utilizzando la funzione Libreria Toolkit $ Upgrader-> upgrade_theme (); tuttavia, ritengo che offrire agli utenti una scelta sia spesso una buona idea.

Il mio suggerimento è quello di visualizzare solo un avviso di un aggiornamento del tema e consentire all'utente di aggiornare utilizzando il plugin Toolkit:

 // Aggiungi avviso di aggiornamento, per aggiornare il tema se ($ updates-> updated_themes_count) add_action ('admin_notices', 'envato_toolkit_admin_notices'); 

Dovremo visualizzare la funzione che visualizza l'avviso al di fuori della nostra funzione corrente:

 / ** * Visualizza un avviso nell'amministratore che è disponibile un aggiornamento * / function envato_toolkit_admin_notices () $ message = sprintf (__ ("È disponibile un aggiornamento del tema! Vai su% s per aggiornarlo ora.", "default"), "Envato WordPress Toolkit Plugin"); eco "

$ Message

";

Perché usare il plugin al primo posto?

Potresti pensare che sia anche possibile basta usare la libreria Toolkit e non utilizzare affatto il plugin Toolkit, quindi, magari, semplicemente mostriamo il nostro nome utente e i moduli chiave API nelle nostre opzioni tema.

Mentre ciò è del tutto possibile, utilizzare il plugin ci dà alcuni vantaggi:

  1. Nelle nuove attivazioni dei temi, il nostro tema controllava automaticamente gli aggiornamenti se il plug-in Toolkit era già stato installato in precedenza.
  2. Non è necessario includere un set aggiuntivo di moduli da riempire per i nostri utenti.
  3. Il plug-in Toolkit può essere aggiornato dagli stessi utenti, quindi le modifiche all'API Marketplace possono essere applicate all'istanza di WordPress senza alcuna guida a tema.

Conclusione

Questo è tutto! Abbiamo integrato sia il plugin e la libreria Envato WordPress Toolkit per il controllo degli aggiornamenti dei temi. Ora, una volta che un aggiornamento diventa disponibile nel Marketplace, i nostri clienti riceveranno una notifica di amministratore. La cosa migliore di ciò che abbiamo fatto è che possono facilmente eseguire l'aggiornamento senza lasciare l'amministratore.

Puoi andare avanti e scaricare l'intera fonte dal link sopra l'articolo. Il codice contiene anche gli argomenti trattati nella parte precedente di questo tutorial.

Poiché questa è la mia prima serie di tutorial, apprezzo molto qualsiasi commento, commento e suggerimento. Fatemi sapere cosa ne pensate!