Som WordPress-författare i ThemeForest, gillar vi att göra våra kunder nöjda genom att ge dem tillfälliga buggfixar och förbättringar till våra teman. Men ett viktigt problem för oss är hur vi meddelar våra användare när en uppdatering är tillgänglig för nedladdning.
Under de gamla dagarna hade vi alla att koda i våra egna implementeringar av en temat uppdateringsanmälare. Medan det nu finns en kryssruta för att aktivera meddelanden om objektuppdateringar på Envato-marknadsplatserna, måste användarna fortfarande slå på den per objekt och även utföra temahändelsen manuellt.
Skulle det inte vara bättre om uppdateringsanmälningar visas i WordPress-administratorn själv? Och att uppdateringar kan utföras direkt i admin? Lyckligtvis för oss har vi nu Envato WordPress Toolkit Plugin och Toolkit Library.
I den här serien lär du dig hur du integrerar dessa verktygsverktyg i dina teman.
I denna handledning kommer vi att implementera både Envato WordPress Toolkit Plugin och Library i vårt tema. När vårt tema är aktiverat kommer användaren att bli ombedd att installera och aktivera pluginverktyget.
När plugin är aktiv tittar vårt tema regelbundet på uppdateringar, och om en uppdatering hittas visas en meddelande i admin som leder användaren till pluginet för att uppdatera temat.
Handledningen är uppdelad i två delar:
Envato WordPress Toolkit finns i två former som har olika användningsområden och ändamål. Så att vi inte blir förvirrade med de två, här är en jämförelse:
Vi måste först ta med några filer i vårt projekt. Vi ska bunta Toolkit Plugin med vårt tema, och vi ska använda TGM Plugin Activation för att installera och aktivera Toolkit.
Notera: Du kan ändra placeringen av filerna ovan för att passa dina behov. Alternativt kan du ladda ner hela källan från hämtningslänken högst upp i den här artikeln.
Nu när vi har nödvändiga filer, låt oss börja kodning. Vi måste inkludera TGM Plugin Activation-klassen i vår functions.php och koppla in i en anpassad WordPress-åtgärd. Här lägger vi några inställningar för TGM och där vi definierar vilka plugins som ska inkluderas.
/ ** * Ladda TGM Plugin Activator-klassen för att meddela användaren * att installera Envato WordPress Toolkit Plugin * / require_once (get_template_directory (). '/Inc/class-tgm-plugin-activation.php'); funktion tgmpa_register_toolkit () // Kod här add_action ('tgmpa_register', 'tgmpa_register_toolkit');
Därefter konfigurerar vi parametrarna som vi behöver inkludera verktyget Toolkit. Inuti tgmpa_register_toolkit
funktion, lägg till följande kod. Ändra sökvägen i källparametern om du har angett en annan plugin-mapp i Steg 1.
// Ange Envato Toolkit plugin $ 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 '=> " ,));
Du kan också lägga till andra plugins genom att lägga till fler arrayer till $ plugins
variabel.
Sätt sedan in alternativen för TGM. Också inuti tgmpa_register_toolkit
funktion, lägg till följande kod under föregående steg för att konfigurera TGM. Jag kommer inte dyka in i detaljerna om vad de enskilda inställningarna gör. Om du vill ha mer information om dessa inställningar gör TGM Plugin Activation-webbplats ett bra jobb att förklara varje bit av det.
// i18n textdomän som används för översättningsändamål $ theme_text_domain = 'default'; // Konfiguration 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' => true, 'is_automatic' => sant, 'message' => ", 'strings' => array ('page_title' => __ ('Installera nödvändiga plugins' , $ theme_text_domain), 'menu_title' => __ ('Installera plugins', $ theme_text_domain), 'installing' => __ ('Installera plugin:% s', $ theme_text_domain), 'oops' => __ fel med plugin API. ', $ theme_text_domain),' notice_can_install_required '=> _n_noop (' Det här temat kräver följande plugin:% 1 $ s. ',' Detta tema kräver följande plugins:% 1 $ s. ') 'notice_can_install_recommended' => _n_noop ('Det här temat rekommenderar följande plugin:% 1 $ s.', 'Detta tema rekommenderar följande plugins:% 1 $ s.'), 'notice_cannot_install' => _n_noop har inte rätt behörigheter för att installera plugin för% s. Kontakta administratören r på den här webbplatsen för hjälp med att få plugin installerat. ',' Tyvärr, men du har inte rätt behörigheter för att installera pluggarna för% s. Kontakta administratören av den här webbplatsen för att få hjälp med att få plugin installerade. ' ), 'notice_can_activate_required' => _n_noop ('Följande nödvändiga plugin är för närvarande inaktivt:% 1 $ s.', 'Följande nödvändiga plugins är för närvarande inaktiva:% 1 $ s.'), 'notice_can_activate_recommended' => _n_noop (' Följande rekommenderade plugin är för närvarande inaktivt:% 1 $ s. ',' Följande rekommenderade plugins är för närvarande inaktiva:% 1 $ s. '),' Notice_cannot_activate '=> _n_noop (' Tyvärr, men du har inte rätt behörigheter för att aktivera plugin för% s. Kontakta administratören för den här webbplatsen för hjälp med att få plugin aktiverat. ',' Tyvärr, men du har inte rätt behörigheter för att aktivera pluggarna för% s. Kontakta administratören för den här sidan för hjälp på få plug-ins aktiverade. '),' notice_ask_to_update '=> _n_noop (' Följande plugin måste uppdateras till sin senaste version för att säkerställa maximal kompatibilitet med detta tema:% 1 $ s. ',' Följande plugins måste uppdateras till sin senaste version för att säkerställa maximal kompatibilitet med detta tema:% 1 $ s. ') 'notice_cannot_update' => _n_noop ('Tyvärr, men du har inte rätt behörigheter för att uppdatera plugin för% s. Kontakta administratören för den här webbplatsen för att få uppdaterad plugin. ',' Tyvärr, men du har inte rätt behörigheter för att uppdatera pluggarna för% s. Kontakta administratören av den här webbplatsen för hjälp med att få plugin uppdaterade. ' ), 'install_link' => _n_noop ('Börja installera plugin', 'Börja installera plugins'), 'activate_link' => _n_noop ('Aktivera installerat plugin', 'Aktivera installerade plugins'), 'return' => __ Återgå till Required Plugins Installer ', $ theme_text_domain),' plugin_activated '=> __ (' Plugin aktiverat framgångsrikt ', $ theme_text_domain),' complete '=> __ (' Alla plugins installerade och aktiverade med framgång.% S ', $ theme_text_domain ), 'nag_type' => 'uppdaterad'));
Ändra $ theme_text_domain
variabel till textdomänen du använder, eller lämna den som standard
.
Till sist, låt oss initiera TGM strax före slutet av tgmpa_register_toolkit
fungera.
tgmpa ($ plugins, $ config);
Spara nu din functions.php
Försök att aktivera ditt tema. Om du inte har Envato WordPress Toolkit Plugin installerad eller aktiverad än, bör du se en anmälan som liknar den här:
Från vad vi har just nu kan vi faktiskt sluta med serien och dina användare kommer att kunna uppdatera temat från administratören. Användarna kommer emellertid bara att kunna se att det finns en uppdatering om de är inuti verktygsfältets administratörspanel.
Del 2 i handledningen lär dig hur du integrerar Envato WordPress Toolkit-biblioteket och hur du visar en administrativ anmälan när en uppdatering av temat är tillgängligt i ThemeForest.