Integrarea setului de instrumente Envato WordPress pentru tema dvs. Biblioteca

În ultima parte a tutorial am învățat cum să folosească clasa TGM Plugin de activare pentru a solicita Envato WordPress Toolkit pluginul de fiecare dată când tema noastră este în uz. Plugin-ul permite utilizatorului să instaleze și să actualizeze temele achiziționate în cadrul administratorului.

Această parte următoare vă va învăța cum să pună în aplicare Envato WordPress Toolkit Biblioteca astfel încât să putem verifica periodic, când tema noastră are disponibilă o actualizare folosind Envato Marketplace API.

Când o actualizare devine disponibilă, vom afișa o notificare în admin și vom direcționa utilizatorul către plugin pentru actualizare.


1. Includerea Bibliotecii de instrumente

Vom trebui mai întâi să includeți Biblioteca de instrumente în proiectul nostru. Descărcați fișierul ZIP pentru Biblioteca Envato WordPress Toolkit. Dezarhivați-l și copiați dosarul Envato-WordPress-Toolkit-bibliotecă în inc în tema dvs. Ar trebui să ajungeți la aceste căi:

  • mytheme / inc / Envato-WordPress-Toolkit-bibliotecă / clasă-Envato-protejat-api.php
  • mytheme / inc / Envato-WordPress-Toolkit-bibliotecă / clasă-Envato-WordPress-temă-upgrader.php

Notă: Puteți schimba locația fișierelor de mai sus pentru a se potrivi nevoilor dvs. Alternativ, puteți descărca sursa completă din linkul de descărcare din partea de sus a acestui articol.


2. Funcția Admin Cârlig

Acum putem începe codarea. Vom cânta în admin_init acțiune. Adăugați în codul dvs. următorul cod functions.php:

 / ** * Încărcați biblioteca Envato WordPress Toolkit pentru actualizări * și direcționați utilizatorul către pluginul Toolkit dacă există o singură funcție * / * envato_toolkit_admin_init () // include biblioteca Toolkit include_once (get_template_directory (). / Inc / envato -wordpress-toolkit-bibliotecă / class-envato-wordpress-theme-upgrader.php '); // Adăugați codul suplimentar aici add_action ('admin_init', 'envato_toolkit_admin_init');

3. Utilizând Info Plugin Toolkit

Biblioteca Toolkit are nevoie de un nume de utilizator Envato și o cheie API pentru ca aceasta să funcționeze. Deoarece am solicitat Pluginul de Instrumente din tutorialul anterior, putem folosi valorile introduse pentru câmpurile cheie de utilizator și API găsite în setările sale. Dacă aceste câmpuri nu sunt completate, putem afișa o notificare prin care solicită utilizatorului să le introducă în Pluginul de Instrumente.

 // Utilizați acreditările folosite în pluginul de instrumente, astfel încât să nu mai trebui să afișăm propriile formulare $ credentials = get_option ('envato-wordpress-toolkit'); dacă (gol ($ credentials ['user_name']) || gol ($ credentials ['api_key'])) add_action ('admin_notices', 'envato_toolkit_credentials_admin_notices'); întoarcere; 

Va trebui să adăugăm funcția de cârlig corespunzătoare în afară pentru a afișa nota noastră de administrator:

 / ** * Afișează un avertisment în admin pentru a reaminti utilizatorului să introducă acreditările * / funcția envato_toolkit_credentials_admin_notices () $ message = sprintf (__ ("Pentru a activa notificările de actualizare a temelor, vă rugăm să introduceți acreditările pentru Envato Marketplace în secțiunea% s" , "implicit"), "Envato WordPress Toolkit Plugin"); ecou "

$ Mesaj

";

4. Actualizați periodic verificarea

Biblioteca Toolkit verifică întotdeauna folosind API-ul Envato Marketplace pentru actualizările temelor. Acest lucru nu este bun, deoarece efectuarea de fiecare dată când utilizatorul vizitează o pagină de administrare poate încetini semnificativ timpul de încărcare a paginilor. Trebuie doar să verificăm periodic actualizarea.

Verificarea la fiecare 3 ore pare o idee bună:

 // Verificați actualizările numai după un timp $ lastCheck = get_option ('toolkit-last-toolkit-check'); dacă (false === $ lastCheck) update_option ('toolkit-last-toolkit-check', ora ()); întoarcere;  // Verificați o actualizare la fiecare 3 ore dacă (10800 < ( time() - $lastCheck ) )  return;  // Update the time we last checked update_option( 'toolkit-last-toolkit-check', time() );

5. Verificarea actualizărilor

În cele din urmă, putem verifica actualizările utilizând biblioteca:

 // Verificați pentru actualizări $ upgrader = nou Envato_WordPress_Theme_Upgrader ($ credentials ['user_name'], $ credentials ['api_key']); $ updates = $ upgrader-> check_for_theme_update (); // Dacă actualizările $-> actual_themes_count == true atunci avem o actualizare!

6. Notificare de actualizare temă

Din acest moment puteți opta să actualizați automat tema utilizând funcția Biblioteca de instrumente $ Upgrader-> upgrade_theme (); cu toate acestea, consider că oferirea unei opțiuni utilizatorilor este adesea o idee bună.

Sugestia mea este să afișez doar o notificare despre o actualizare a temei și să permită utilizatorului să se actualizeze folosind Pluginul de Instrumente:

 // Adăugați alertă de actualizare, pentru a actualiza tema dacă ($ updates-> updated_themes_count) add_action ('admin_notices', 'envato_toolkit_admin_notices'); 

Va trebui să afișăm funcția care afișează notificarea în afara funcției noastre curente:

 / ** * Afișează un avertisment în admin că este disponibilă o actualizare * / function envato_toolkit_admin_notices () $ message = sprintf (__ ("O actualizare a temei este disponibilă! "implicit"), "Envato WordPress Toolkit Plugin"); ecou "

$ Mesaj

";

De ce folosiți pluginul în primul loc?

S-ar putea să vă gândiți că este posibil, de asemenea trebuie doar să utilizați Biblioteca de instrumente și să nu folosiți deloc Toolkit Plugin-ul, atunci poate afișa doar propriul nume de utilizator și formularele cheie API în opțiunile temei noastre.

În timp ce acest lucru este posibil, utilizarea pluginului ne oferă câteva avantaje:

  1. În activarea temelor proaspete, tema noastră ar verifica automat actualizările dacă Pluginul de Instrumente a fost deja instalat anterior.
  2. Nu este nevoie să includeți un set suplimentar de formulare pentru utilizatorii noștri de completat.
  3. Pluginul Toolkit poate fi actualizat de către utilizatori înșiși, prin urmare, modificările în Marketplace API pot fi aplicate instanței WordPress fără nici o îndrumare tematică.

Concluzie

Asta e! Am integrat atât Pluginul Envato WordPress Toolkit, cât și Biblioteca pentru verificarea actualizării temelor. Acum, odată ce o actualizare devine disponibilă în Marketplace, clienții noștri ar primi o notificare de administrator. Cel mai bun lucru cu ceea ce am făcut este că pot efectua cu ușurință actualizarea fără a părăsi administratorul.

Puteți continua și descărcați sursa completă de la linkul de deasupra articolului. Codul conține, de asemenea, subiectele abordate în partea anterioară a acestui tutorial.

Deoarece aceasta este prima mea serie de tutorial, apreciez foarte mult orice feedback, comentarii și sugestii. Dați-mi voie să știu ce credeți!

Cod