Als WordPress-auteurs in ThemeForest willen we onze klanten graag blij maken door hen af en toe bugfixes en verbeteringen aan onze thema's aan te bieden. Maar een belangrijk probleem voor ons is hoe onze gebruikers op de hoogte te stellen wanneer een update beschikbaar is om te downloaden.
Vroeger moesten we elk code coderen in onze eigen implementaties van een notificator voor thema-updates. Hoewel er nu een selectievakje is om meldingen over artikelupdates in Envato Marketplaces in te schakelen, moeten gebruikers het nog steeds per item inschakelen en ook de thema-update handmatig uitvoeren.
Zou het niet beter zijn als updatemeldingen werden weergegeven in de WordPress-beheerder zelf? En dat updates meteen in de admin kunnen worden uitgevoerd? Gelukkig voor ons hebben we nu de Envato WordPress Toolkit Plugin en Toolkit Library.
In deze serie leer je hoe je deze toolkits kunt integreren in je thema's.
In deze zelfstudie gaan we zowel de Envato WordPress Toolkit-plug-in en bibliotheek implementeren in ons thema. Wanneer ons thema is geactiveerd, wordt de gebruiker gevraagd om de Toolkit-plug-in te installeren en te activeren.
Zodra de plug-in actief is, zal ons thema regelmatig controleren op updates en als er een update wordt gevonden, wordt een melding in de beheerder weergegeven die de gebruiker naar de plug-in zal leiden om het thema bij te werken.
De tutorial is opgesplitst in twee delen:
De Envato WordPress Toolkit bestaat in twee vormen met een verschillend gebruik en doel. Zodat we niet verward raken met de twee, hier is een vergelijking:
We zullen eerst enkele bestanden in ons project moeten opnemen. We gaan de Toolkit-plug-in bundelen met ons thema, en we zullen de activering van de TGM-plug-in gebruiken om de Toolkit te installeren en activeren.
Notitie: U kunt de locatie van de bovenstaande bestanden wijzigen om aan uw behoeften te voldoen. Als alternatief kunt u de volledige bron downloaden via de downloadlink bovenaan dit artikel.
Nu we de vereiste bestanden hebben, beginnen we met het coderen. We zullen de TGM Plugin Activation-klasse moeten opnemen in onze functions.php en haak in een aangepaste WordPress-actie. Dit is waar we enkele instellingen voor TGM zullen plaatsen en waar we zullen definiëren welke plug-ins moeten worden opgenomen.
/ ** * Laad de TGM Plugin Activator-klasse om de gebruiker * op de hoogte te stellen om de Envato WordPress Toolkit-plugin * / require_once (get_template_directory (). '/Inc/class-tgm-plugin-activation.php') te installeren; functie tgmpa_register_toolkit () // Code hier add_action ('tgmpa_register', 'tgmpa_register_toolkit');
Vervolgens configureren we de parameters die we nodig hebben om de Toolkit-plug-in op te nemen. Binnen in de tgmpa_register_toolkit
functie, voeg de volgende code toe. Wijzig het pad in de bronparameter als u een andere invoegmap hebt opgegeven in Stap 1.
// Geef de plug-in Envato Toolkit op $ plugins = array (array ('name' => 'Envato WordPress Toolkit', 'slug' => 'envato-wordpress-toolkit-master', 'source' => get_template_directory (). ' /plugins/envato-wordpress-toolkit-master.zip ',' required '=> true,' version '=>' 1.5 ',' force_activation '=> true,' force_deactivation '=> false,' external_url '=> " ,),);
U kunt ook andere plug-ins toevoegen door meer arrays toe te voegen aan de $ plugins
veranderlijk.
Stel vervolgens de opties voor TGM in. Ook binnen de tgmpa_register_toolkit
functie, voeg de volgende code toe onder de vorige stap om TGM te configureren. Ik zal niet ingaan op de details over wat de individuele instellingen doen. Als u meer informatie wilt over deze instellingen, kan de TGM-pluginactiveringswebsite alles goed uitleggen.
// i18n tekstdomein dat wordt gebruikt voor vertaaldoeleinden $ theme_text_domain = 'default'; // Configuratie van TGM $ config = array ('domain' => $ theme_text_domain, 'default_path' => ", 'parent_menu_slug' => 'admin.php', 'parent_url_slug' => 'admin.php', 'menu' => 'install-required-plugins', 'has_notices' => true, 'is_automatic' => true, 'message' => ", 'strings' => array ('page_title' => __ ('Installeer vereiste plug-ins' , $ theme_text_domain), 'menu_title' => __ ('Installeer plugins', $ theme_text_domain), 'installing' => __ ('Plugin installeren:% s', $ theme_text_domain), 'oops' => __ ('Er ging iets mis verkeerd met de plugin-API. ', $ theme_text_domain),' notice_can_install_required '=> _n_noop (' Voor dit thema is de volgende plug-in vereist:% 1 $ s. ',' Voor dit thema zijn de volgende plug-ins vereist:% 1 $ s. '), 'notice_can_install_recommended' => _n_noop ('Dit thema beveelt de volgende plugin aan:% 1 $ s.', 'Dit thema beveelt de volgende plug-ins aan:% 1 $ s.'), 'notice_cannot_install' => _n_noop ('Sorry, maar jij hebben niet de juiste rechten om de% s plug-in te installeren Neem contact op met de beheerder r van deze site voor hulp bij het installeren van de plug-in. ',' Sorry, maar je hebt niet de juiste rechten om de% s plug-ins te installeren. Neem contact op met de beheerder van deze site voor hulp bij het installeren van de plug-ins. ' ), 'notice_can_activate_required' => _n_noop ('De volgende vereiste plug-in is momenteel inactief:% 1 $ s.', 'De volgende vereiste plug-ins zijn momenteel niet actief:% 1 $ s.'), 'notice_can_activate_recommended' => _n_noop (' De volgende aanbevolen plug-in is momenteel inactief:% 1 $ s. ',' De volgende aanbevolen plug-ins zijn momenteel niet actief:% 1 $ s. '),' Notice_cannot_activate '=> _n_noop (' Sorry, maar je hebt niet de juiste rechten om de% s plugin te activeren Neem contact op met de beheerder van deze site voor hulp bij het activeren van de plug-in. ',' Sorry, maar je hebt niet de juiste rechten om de% s plug-ins te activeren Neem contact op met de beheerder van deze site voor hulp op om de plug-ins te activeren. '),' notice_ask_to_update '=> _n_noop (' De volgende plug-in moet worden geüpdatet naar de nieuwste versie om maximale compatibiliteit met dit thema te garanderen:% 1 $ s. ',' De volgende plug-ins moeten worden bijgewerkt naar de nieuwste versie om maximale compatibiliteit met dit thema te garanderen:% 1 $ s. '), 'notice_cannot_update' => _n_noop ('Sorry, maar je hebt niet de juiste rechten om de% s plug-in bij te werken. Neem contact op met de beheerder van deze site voor hulp bij het bijwerken van de plug-in. ',' Sorry, maar je hebt niet de juiste rechten om de% s-plug-ins bij te werken. Neem contact op met de beheerder van deze site voor hulp bij het bijwerken van de plug-ins. ' ), 'install_link' => _n_noop ('Installeer plug-in', 'Begin met het installeren van plug-ins'), 'activate_link' => _n_noop ('Activeer geïnstalleerde plug-in', 'Activeer geïnstalleerde plug-ins'), 'return' => __ (' Return to Required Plugins Installer ', $ theme_text_domain),' plugin_activated '=> __ (' Plugin is succesvol geactiveerd ', $ theme_text_domain),' voltooid '=> __ (' Alle plug-ins zijn geïnstalleerd en geactiveerd.% S ', $ theme_text_domain ), 'nag_type' => 'bijgewerkt'));
Verander de $ theme_text_domain
variabele naar het tekstdomein dat u gebruikt, of laat het zoals achter standaard
.
Laten we tenslotte TGM initialiseren vlak voor het einde van de tgmpa_register_toolkit
functie.
tgmpa ($ plug-ins, $ config);
Bewaar nu je functions.php
Probeer uw thema te activeren. Als u de. Niet hebt Envato WordPress Toolkit Plugin al geïnstalleerd of geactiveerd, dan zou je een soortgelijke melding moeten zien als deze:
Van wat we nu hebben, kunnen we eigenlijk stoppen met de serie en kunnen uw gebruikers het thema bijwerken vanuit de beheerder; Gebruikers kunnen echter alleen zien dat er een update is als ze zich in het dashboard van Toolkit bevinden.
In deel 2 van de tutorial leer je hoe je de Envato WordPress Toolkit Library kunt integreren en hoe je een beheerderskennisgeving kunt weergeven wanneer een update van het thema beschikbaar is in ThemeForest.