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.
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:
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:
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.
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.
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');
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.
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
.
Til slutt, la oss initialisere TGM rett før slutten av tgmpa_register_toolkit
funksjon.
tgmpa ($ plugins, $ config);
Lagre nå functions.php
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:
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.