Integrering av Envato WordPress Toolkit til ditt tema Plugin

Som WordPress-forfattere i ThemeForest, liker vi å gjøre kundene våre glade ved å gi dem sporadiske feilrettinger og forbedringer av våre temaer. Men et sentralt problem for oss er hvordan du skal varsle brukerne når en oppdatering er tilgjengelig for nedlasting.

I gamle dager måtte vi alle kode i våre egne implementeringer av en temaoppdateringsvarsler. Selv om det nå er en avkrysningsboks for å aktivere varslinger om vareoppdateringer på Envato-markedsplassene, må brukerne fortsatt slå den på per element og også utføre temaoppdateringen manuelt..

Ville det ikke vært bedre hvis oppdateringsvarsler ble vist i WordPress-administrasjonen selv? Og at oppdateringer kan utføres med en gang i administrasjonen? Heldigvis for oss har vi nå Envato WordPress Toolkit Plugin og Toolkit Library.

I denne serien lærer du hvordan du integrerer disse verktøyene i temaene dine.


Hva vi skal dekke i denne serien

I denne opplæringen skal vi implementere både Envato WordPress Toolkit Plugin og Library i vårt tema. Når temaet vårt er aktivert, blir brukeren bedt om å installere og aktivere Toolkit-plugin.

Når plugin er aktiv, vil temaet jevnlig se etter oppdateringer, og hvis en oppdatering er funnet, vil det bli vist et varsel i administrasjonen som vil lede brukeren til pluginet for å oppdatere temaet.

Opplæringen er delt inn i to deler:

  • Del 1 - Integrering av TGM Plugin Activation-klassen for å gjøre Envato WordPress Toolkit Plugin et krav når du bruker temaet vårt; og
  • Del 2 - Implementere Envato WordPress Toolkit Library i vårt tema for å tillate ny temaversjon å sjekke og oppdatere.

Plugin og bibliotek?

Envato WordPress Toolkit kommer i to former som har forskjellig bruk og formål. Slik at vi ikke blir forvirret med de to, her er en sammenligning:

  • Toolkit-plugin - Dette er et frittstående plugin som kan installeres av enhver Envato-kunde i deres WordPress-nettsted. Når aktivert, vil alle tidligere kjøpte temaer samt temaoppdateringer være tilgjengelig for nedlasting direkte fra administrasjonen.
  • Toolkit Library - Kode som kan inkluderes av forfattere i deres WordPress-temaer, som gjør det mulig for temaet å bruke Envato Marketplace API for å sjekke for oppdateringer av versjonen og oppdatere seg.

1. Inkludert de nødvendige filene

Vi må først ta med noen filer i prosjektet vårt. Vi skal pakke Toolkit-pluginet med vårt tema, og vi skal bruke TGM Plugin Activation for å installere og aktivere Toolkit.

  1. Last ned TGM Plugin Activation og plasser hovedklasseskriptet i inc mappe i temaet ditt. Stien skal være: Mytheme / inc / class-TGM-plugin-activation.php
  2. Deretter laster du ned Envato WordPress Toolkit Plugin ZIP-filen og legger den inn i en ny mappe i temaet kalt plugins. Stien skal være: Mytheme / plugg / envato-wordpress-toolkit-master.zip

Merk: Du kan endre plasseringen av filene over for å dekke dine behov.  Alternativt kan du laste ned hele kilden fra nedlastingskoblingen på toppen av denne artikkelen.


2. TGM-krokfunksjon

Nå som vi har de nødvendige filene, la oss starte kodingen. Vi må inkludere TGM Plugin Activation-klassen i vår functions.php og koble til en egendefinert WordPress-handling. Det er her vi skal sette inn noen innstillinger for TGM, og hvor vi skal definere hvilke plugins som skal inkluderes.

 / ** * Last inn TGM Plugin Activator-klassen for å varsle brukeren * for å installere Envato WordPress Toolkit Plugin * / require_once (get_template_directory (). '/Inc/class-tgm-plugin-activation.php'); funksjon tgmpa_register_toolkit () // Kode her add_action ('tgmpa_register', 'tgmpa_register_toolkit');

3. Angi Toolkit-plugin

Deretter konfigurerer vi parametrene vi må inkludere verktøylinjeprogrammet. Inne i tgmpa_register_toolkit funksjon, legg til følgende kode. Endre banen i kildeparameteren hvis du angav en annen plugin-mappe i Trinn 1.

 // Angi Envato Toolkit-plugin $ plugins = array (array ('navn' => 'Envato WordPress Toolkit', 'slug' => 'envato-wordpress-toolkit-master', 'source' => get_template_directory /plugins/envato-wordpress-toolkit-master.zip ',' required '=> true' versjon '=>' 1.5 ',' force_activation '=> sant,' force_deactivation '=> false,' external_url '=> " ,),);

Du kan også legge til andre plugins ved å legge til flere arrayer til $ plugins variabel.


4. Konfigurere TGM

Sett deretter opp alternativene for TGM. Også inne i tgmpa_register_toolkit funksjon, legg til følgende kode under forrige trinn for å konfigurere TGM. Jeg vil ikke dykke inn i detaljene om hva de enkelte innstillingene gjør. Hvis du vil ha mer informasjon om disse innstillingene, gjør TGM Plugin Activation-nettsiden en god jobb med å forklare hver eneste bit av det.

 // i18n tekstdomenet brukes til oversettelsesformål $ theme_text_domain = 'default'; // Konfigurasjon av TGM $ config = array ('domain' => $ theme_text_domain, 'default_path' => ", 'parent_menu_slug' => 'admin.php', 'parent_url_slug' => 'admin.php', 'meny' => 'install-required plugins', 'has_notices' => sant, 'is_automatic' => sant, 'message' => ", 'strings' => array ('page_title' => __ , $ theme_text_domain), 'menu_title' => __ ('Install Plugins', $ theme_text_domain), 'installing' => __ ('Installere plugin:% s', $ theme_text_domain), 'oops' => __ feil med plugin API. ', $ theme_text_domain),' notice_can_install_required '=> _n_noop (' Dette temaet krever følgende plugin:% 1 $ s. ',' Dette temaet krever følgende plugins:% 1 $ s. ') 'notice_can_install_recommended' => _n_noop ('Dette temaet anbefaler følgende plugin:% 1 $ s.', 'Dette temaet anbefaler følgende plugins:% 1 $ s.'), 'notice_cannot_install' => _n_noop ('Beklager, men du ikke ha de riktige tillatelsene for å installere pluginet for% s. Kontakt administratoren r av dette nettstedet for å få hjelp til å få plugin installert. ',' Beklager, men du har ikke de riktige tillatelsene for å installere pluginene til% s. Kontakt administratoren for dette nettstedet for å få hjelp til å få pluginene installert. ' ), 'notice_can_activate_required' => _n_noop ('Følgende nødvendige plugin er for øyeblikket inaktivt:% 1 $ s.', 'Følgende nødvendige plugins er for øyeblikket inaktive:% 1 $ s.'), 'notice_can_activate_recommended' => _n_noop (' Følgende anbefalte plugin er for øyeblikket inaktivt:% 1 $ s. ',' Følgende anbefalte plugins er for øyeblikket inaktive:% 1 $ s. '),' Notice_cannot_activate '=> _n_noop (' Beklager, men du har ikke de riktige tillatelsene for å aktivere plugin% s. Kontakt administratoren for dette nettstedet for å få hjelp til å få plugin aktivert. ',' Beklager, men du har ikke de riktige tillatelsene for å aktivere pluginene til% s. Kontakt administratoren for dette nettstedet for å få hjelp få pluginene aktivert. '),' notice_ask_to_update '=> _n_noop (' Følgende plugin må oppdateres til sin nyeste versjon for å sikre maksimal kompatibilitet med dette temaet:% 1 $ s. ',' Følgende plugins må oppdateres til deres nyeste versjon for å sikre maksimal kompatibilitet med dette temaet:% 1 $ s. '), 'notice_cannot_update' => _n_noop ('Beklager, men du har ikke de riktige tillatelsene for å oppdatere pluginet til% s. Kontakt administratoren for dette nettstedet for å få hjelp til å få oppdateringen oppdatert. ',' Beklager, men du har ikke de riktige tillatelsene for å oppdatere pluginene til% s. Ta kontakt med administratoren for dette nettstedet for å få hjelp til å få oppdateringsprogrammene oppdatert. ' ), 'install_link' => _n_noop ('Start installering av plugin', 'Begynn installering av plugins'), 'activate_link' => _n_noop ('Aktiver installert plugin', 'Aktiver installerte plugins'), 'return' => __ Gå tilbake til Required Plugins Installer, $ theme_text_domain), 'plugin_activated' => __ ('Plugin aktivert vellykket.', $ Theme_text_domain), 'complete' => __ ('Alle plugins installert og aktivert med hell.% S', $ theme_text_domain ), 'nag_type' => 'oppdatert'));

Endre $ theme_text_domain variabel til tekstdomenet du bruker, eller la det være som misligholde.


5. Start TGM

Til slutt, la oss initialisere TGM rett før slutten av tgmpa_register_toolkit funksjon.

 tgmpa ($ plugins, $ config);

Lagre nå functions.php


Prøver det ut

Prøv å aktivere temaet ditt. Hvis du ikke har Envato WordPress Toolkit Plugin installert eller aktivert enda, bør du se et varsel som ligner denne:


Konklusjon

Fra det vi har akkurat nå, kan vi faktisk stoppe med serien og brukerne dine vil kunne oppdatere temaet fra administrasjonen; Brukerne vil imidlertid bare kunne se at det er en oppdatering hvis de er inni verktøylinjens administrasjonspanel.

Del 2 i opplæringen vil lære deg hvordan du integrerer Envato WordPress Toolkit-biblioteket, og hvordan du viser et administrasjonsvarsel når en oppdatering til temaet er tilgjengelig i ThemeForest.