De Envato WordPress Toolkit integreren in uw thema de plug-in

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.


Wat we in deze serie zullen behandelen

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:

  • Deel 1 - Integratie van de activeringsklasse TGM-plug-in om de Envato WordPress Toolkit-plug-in een vereiste te maken bij het gebruik van ons thema; en
  • Deel 2 - Implementatie van de Envato WordPress Toolkit-bibliotheek in ons thema om nieuwe thema-versiecontrole en -update mogelijk te maken.

Plugin en bibliotheek?

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:

  • Toolkit-plugin - Dit is een op zichzelf staande plug-in die door elke Envato-klant kan worden geïnstalleerd op zijn WordPress-site. Wanneer ze zijn geactiveerd, kunnen alle eerder aangeschafte thema's en thema-updates direct worden gedownload van de beheerder.
  • Toolkit-bibliotheek - Code die auteurs kunnen opnemen in hun WordPress-thema's, waarmee het thema de Envato Marketplace-API kan gebruiken om te controleren op updates van themaversies en zichzelf bij te werken.

1. Inclusief de vereiste bestanden

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.

  1. Download de activering van de TGM-plug-in en plaats het hoofdclasscript in de inc map in uw thema. Het pad zou moeten zijn: Mytheme / inc / klasse-TGM-plugin-activation.php
  2. Download vervolgens het Envato WordPress Toolkit Plugin ZIP-bestand en plaats het in een nieuwe map in uw thema genaamd plug-ins. Het pad zou moeten zijn: Mytheme / plugins / envato-wordpress-toolkit-master.zip

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.


2. TGM-haakfunctie

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');

3. Specificeren van de Toolkit-plugin

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.


4. TGM configureren

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.


5. Start TGM

Laten we tenslotte TGM initialiseren vlak voor het einde van de tgmpa_register_toolkit functie.

 tgmpa ($ plug-ins, $ config);

Bewaar nu je functions.php


Het uitproberen

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:


Conclusie

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.