Come autori di WordPress in ThemeForest, ci piace rendere felici i nostri clienti fornendo loro occasionalmente correzioni di bug e miglioramenti ai nostri temi. Ma un problema chiave per noi è come avvisare i nostri utenti quando un aggiornamento è disponibile per il download.
Nei tempi passati, ognuno di noi doveva codificare le proprie implementazioni di un notificatore di aggiornamento dei temi. Mentre ora è disponibile una casella di controllo per abilitare le notifiche sugli aggiornamenti degli articoli nei marketplace Envato, gli utenti devono ancora attivarlo per elemento e anche eseguire manualmente l'aggiornamento del tema.
Non sarebbe meglio se le notifiche di aggiornamento fossero visualizzate all'interno dell'amministratore di WordPress stesso? E che gli aggiornamenti possono essere eseguiti subito all'interno dell'amministratore? Fortunatamente per noi, ora abbiamo la libreria Envato WordPress Toolkit Plugin and Toolkit.
In questa serie, imparerai come integrare questi strumenti nei tuoi temi.
In questo tutorial implementeremo sia il plugin e la libreria Envato WordPress Toolkit nel nostro tema. Quando il nostro tema è attivato, all'utente verrà chiesto di installare e attivare il plugin Toolkit.
Una volta che il plugin è attivo, il nostro tema controllerà periodicamente gli aggiornamenti e, se viene trovato un aggiornamento, verrà visualizzata una notifica nell'amministratore che indirizzerà l'utente al plugin per aggiornare il tema.
Il tutorial è diviso in due parti:
Il Toolkit di Envato WordPress è disponibile in due forme che hanno un uso e uno scopo diversi. In modo che non ci si confonda con i due, ecco un confronto:
Prima dovremo includere alcuni file nel nostro progetto. Inseriremo il plug-in Toolkit con il nostro tema e utilizzeremo l'attivazione del plug-in TGM per installare e attivare il Toolkit.
Nota: È possibile modificare la posizione dei file sopra per soddisfare le proprie esigenze. In alternativa, puoi scaricare l'intera fonte dal link di download nella parte superiore di questo articolo.
Ora che abbiamo i file richiesti, iniziamo la codifica. Dovremo includere la classe di attivazione del plug-in TGM nella nostra functions.php e agganciati a un'azione WordPress personalizzata. Qui è dove inseriremo alcune impostazioni per TGM e dove definiremo quali plug-in includere.
/ ** * Caricare la classe Attivatore plugin TGM per notificare all'utente * l'installazione del plugin Envato WordPress Toolkit Plugin * / require_once (get_template_directory (). '/Inc/class-tgm-plugin-activation.php'); function tgmpa_register_toolkit () // Code here add_action ('tgmpa_register', 'tgmpa_register_toolkit');
Successivamente, configuriamo i parametri che devono includere il plug-in Toolkit. Dentro il tgmpa_register_toolkit
funzione, aggiungere il seguente codice. Cambia il percorso nel parametro source se hai specificato un'altra cartella di plugin in Passo 1.
// Specifica il plugin Envato Toolkit $ 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 '=> " ,),);
Puoi anche aggiungere altri plugin aggiungendo altri array al $ plugins
variabile.
Quindi imposta le opzioni per TGM. Anche dentro il tgmpa_register_toolkit
funzione, aggiungere il seguente codice sotto il passaggio precedente per configurare TGM. Non approfondirò le specifiche su cosa fanno le singole impostazioni. Se desideri maggiori informazioni su queste impostazioni, il sito Web di attivazione del plug-in TGM fa un buon lavoro di spiegazione di ogni sua parte.
// dominio di testo i18n utilizzato per scopi di traduzione $ theme_text_domain = 'default'; // Configurazione di TGM $ config = array ('dominio' => $ 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' => __ ('Installa i plugin necessari' , $ theme_text_domain), 'menu_title' => __ ('Installa plugin', $ theme_text_domain), 'installa' => __ ('Installazione plugin:% s', $ theme_text_domain), 'oops' => __ ('Qualcosa è andato errato con l'API plugin. ', $ theme_text_domain),' notice_can_install_required '=> _n_noop (' Questo tema richiede il seguente plugin:% 1 $ s. ',' Questo tema richiede i seguenti plugin:% 1 $ s. '), 'notice_can_install_recommended' => _n_noop ('Questo tema raccomanda il seguente plugin:% 1 $ s.', 'Questo tema raccomanda i seguenti plugin:% 1 $ s.'), 'notice_cannot_install' => _n_noop ('Scusa, ma tu non hanno le autorizzazioni corrette per installare il plugin% s. Contatta l'amministratore r di questo sito per assistenza su come installare il plugin. ',' Spiacente, ma non si dispone delle autorizzazioni corrette per installare i plugin% s. Contatta l'amministratore di questo sito per assistenza su come installare i plug-in. " ), 'notice_can_activate_required' => _n_noop ('Il seguente plugin richiesto è attualmente inattivo:% 1 $ s.', 'I seguenti plugin richiesti sono attualmente inattivi:% 1 $ s.'), 'notice_can_activate_recommended' => _n_noop (' Il seguente plugin consigliato è attualmente inattivo:% 1 $ s. ',' I seguenti plugin consigliati sono attualmente inattivi:% 1 $ s. '),' Notice_cannot_activate '=> _n_noop (' Mi dispiace, ma non hai le autorizzazioni corrette per attivare il plugin% s Contatta l'amministratore di questo sito per assistenza su come attivare il plugin. ',' Spiacente, ma non hai le autorizzazioni corrette per attivare i plugin% s. Contatta l'amministratore di questo sito per assistenza su attivazione dei plugin. '),' notice_ask_to_update '=> _n_noop (' Il seguente plugin deve essere aggiornato alla sua ultima versione per garantire la massima compatibilità con questo tema:% 1 $ s. ',' I seguenti plugin devono essere aggiornati alla loro ultima versione per garantire la massima compatibilità con questo tema:% 1 $ s. '), 'notice_cannot_update' => _n_noop ('Scusa, ma non hai le autorizzazioni corrette per aggiornare il plugin% s. Contatta l'amministratore di questo sito per assistenza su come aggiornare il plug-in. ',' Scusa, ma non hai le autorizzazioni corrette per aggiornare i plugin% s. Contatta l'amministratore di questo sito per assistenza su come ottenere i plugin aggiornati. ' ), 'install_link' => _n_noop ('Inizia l'installazione del plugin', 'Inizia l'installazione dei plugin'), 'activate_link' => _n_noop ('Attiva il plugin installato', 'Attiva i plugin installati'), 'return' => __ (' Ritorna a Plugin Richiesti Installer ', $ theme_text_domain),' plugin_activated '=> __ (' Plugin attivato con successo. ', $ Theme_text_domain),' complete '=> __ (' Tutti i plugin installati e attivati con successo.% S ', $ theme_text_domain ), 'nag_type' => 'aggiornato'));
Cambiare il $ theme_text_domain
variabile al dominio di testo che stai usando o lasciare come predefinito
.
Infine, inizializziamo TGM subito prima della fine del tgmpa_register_toolkit
funzione.
tgmpa ($ plugins, $ config);
Ora salva il tuo functions.php
Prova ad attivare il tuo tema. Se non hai il Envato WordPress Toolkit Plugin installato o attivato ancora, quindi dovresti vedere una notifica simile a questa:
Da quello che abbiamo adesso, possiamo effettivamente fermarci con la serie e i tuoi utenti potranno aggiornare il tema dall'interno dell'amministratore; tuttavia, gli utenti saranno in grado di vedere che c'è un aggiornamento se sono all'interno del pannello di amministrazione di Toolkit.
La parte 2 del tutorial ti insegnerà come integrare la libreria di strumenti di WordPress di Envato e come visualizzare una notifica di amministratore ogni volta che un aggiornamento al tema è disponibile in ThemeForest.