Utilizzo della libreria di attivazione del plug-in TGM nei temi

I temi non sono pensati per essere funzionali, ma come sviluppatori di temi, per lo più abbiamo bisogno di includere alcune funzionalità per rendere il nostro tema un po 'migliore e una funzione, sai, funzionale. 

In questo tutorial, daremo un'occhiata al termine "territorio del plugin" e impareremo a utilizzare uno strumento fantastico scritto da Thomas Griffin: la libreria di attivazione del plugin TGM.

Funzionalità del tema: territorio del plugin invadente

I temi hanno lo scopo di cambiare il design del tuo sito Web WordPress. Idealmente, dovrebbe essere visivo. Ma in questa epoca d'oro di WordPress, gli sviluppatori di temi includono spesso funzionalità nei loro temi per rimanere competitivi sul mercato. Questo doveva essere, ma lo è.

Questa è l'invasione del territorio del plugin. Possiamo definire "territorio plugin" in termini semplici: parti funzionali del codice sono all'interno dei confini di questo territorio. Ogni bit di codice che modifica la funzionalità del tuo sito web deve essere servito come un plugin, se non è già stato pubblicato nel nucleo di WordPress. 

In uno dei miei post precedenti (nella serie "Making the Perfect WordPress Theme"), ho menzionato il regola del pollice del "territorio plugin":

Se la funzione riguarda il aspetto visivo del sito web, dovrebbe essere nel tema, ma se si tratta di funzionalità di un sito web, dovrebbe essere incluso come plugin separato.

Abbastanza facile, giusto? 

Sebbene le persone tendano ancora a codificare i bit funzionali nei loro temi, le directory dei temi (come WordPress.org e ThemeForest) non accettano i temi che invadono il "territorio del plugin". Quindi, è diventato un problema offrire funzionalità con temi.

Fortunatamente, esiste una soluzione abbastanza semplice e non va contro la regola del "plug-in".

Presentazione della libreria di attivazione del plug-in TGM

TGM Plugin Activation è una libreria leggera con lo scopo di raggruppare temi con plugin. L'idea è semplice: quando un utente installa il tema, l'utente installa i plugin da WordPress.org, un sito Web esterno o la cartella dei temi. Ecco cosa Thomas Griffin, il creatore della biblioteca, definisce questo pratico piccolo strumento:

Attivazione del plug-in TGM è una libreria PHP che ti permette di richiedere o consigliare facilmente plugin per i tuoi temi WordPress (e plugin). Consente agli utenti di installare e persino attivare automaticamente i plugin in modalità singolare o di massa utilizzando classi, funzioni e interfacce native di WordPress. Puoi fare riferimento a plug-in preconfezionati, plug-in dal repository di plug-in WordPress o anche a plug-in ospitati altrove su Internet.

Questa è probabilmente la soluzione più intelligente al problema del "plug-in territorio invasione". Ed è anche facile da applicare. 

Diamo un'occhiata!

Installazione di Plugin TGM

L'installazione del plug-in TGM è incredibilmente semplice. Segui questi passaggi:

  • Scarica la libreria di attivazione del plugin TGM dalla sezione "Download" della pagina.
  • Apri il file zip ed estrai class-TGM-plugin-activation.php nella tua cartella dei temi (ovunque tu voglia).
  • Apri i tuoi temi functions.php file e utilizzare il require_once () funzione per, bene, richiede il file di classe (una volta) nel tuo tema.
  • Creare una funzione per configurare l'attivazione del plug-in TGM e collegarla a tgmpa_register via il add_action () funzione.
  • Fatto!

È così semplice che non è nemmeno necessario un codice PHP complicato per richiedere o raccomandare plug-in. Dai un'occhiata al codice qui sotto:

D'ora in poi, puoi fare in modo che i tuoi utenti installino nuovi plugin impostando il $ plugins variabile nella funzione appena creata. 

Vediamo come è fatto.

Installazione di plug-in con attivazione del plug-in TGM

Come puoi vedere dall'alto, il $ plugins variabile è una matrice. E per definire i plugin da installare, è necessario creare array all'interno di tale array (in modo da poter impostare i propri parametri). Sembra difficile, ma non lo è:

Ci sono un paio di parametri da usare:

  • nome (stringa, obbligatorio): il nome del plug-in.
  • lumaca (stringa, obbligatorio) - La lumaca del plugin (di solito il nome della sua cartella).
  • necessario (booleano, obbligatorio) - Se è impostato su vero, il tuo tema "richiederà" il plugin. Se falso, il tema lo "consiglierà".
  • fonte (stringa, a volte richiesta) - La fonte del plugin. Se si tratta di un plugin WordPress.org, questo parametro non deve essere utilizzato; altro, è richiesto.
  • versione (stringa, facoltativo) - La versione minima richiesta per il plug-in. Per esempio; se l'utente del tema ha già installato un plug-in richiesto ma non ha il numero di versione minimo specificato, TGM Plugin Activation avvisa l'utente di aggiornarlo.
  • force_activation (booleano, facoltativo) - Se impostato su vero, l'utente non sarà in grado di disattivare il plug-in mentre il tema è attivo. Un po 'fastidioso ma potrebbe essere necessario in alcuni scenari.
  • force_deactivation (booleano, facoltativo) - Se impostato su vero, il plugin verrà disattivato una volta che l'utente avrà cambiato tema.
  • external_url (stringa, facoltativo) - Se impostato, il nome del plug-in verrà collegato a questo indirizzo nell'avviso sui requisiti del plug-in.

Hai tre opzioni per fare in modo che i tuoi utenti installino i plugin con l'attivazione del plug-in TGM: puoi richiedere un plug-in dalla directory dei plugin di WordPress, da una fonte esterna (come il tuo server o un CDN) o dalla cartella dei temi (come /my-theme/plugins/shortcodes.zip).

Richiedere un plugin da WordPress.org

 'BuddyPress', 'slug' => 'buddypress', 'required' => false, // questo plugin è raccomandato)); ?>

Richiedere un plugin da una fonte esterna

 'My Awesome Plugin', 'slug' => 'my-awesome-plugin', 'source' => 'http://files.my-website.com/my-awesome-plugin.zip', 'required' = > true, // questo plugin è richiesto 'external_url' => 'http://my-website.com/introducing-my-awesome-plugin', // pagina del mio plugin 'force_deactivation' => true, // deactivate questo plugin quando l'utente passa a un altro tema)); ?>

Richiedere un plugin dalla directory dei temi

 'My Super Sleek Slider', 'slug' => 'my-super-sleek-slider', 'source' => get_stylesheet_directory (). '/lib/plugins/my-super-sleek-slider.zip', // La fonte "interna" del plugin. 'required' => true, // questo plugin è richiesto 'version' => '1.2', // l'utente deve usare la versione 1.2 (o successiva) di questo plugin 'force_activation' => false, // questo plugin sta andando rimanere attivi a meno che l'utente non passi a un altro tema)); ?>

Configurazione dell'attivazione del plug-in TGM

Notare il tgmpa () funziona con due parametri alla fine del nostro codice di esempio? Il secondo parametro è il $ config variabile che capita anche di essere un array, proprio come il $ plugins parametro. Come suggerisce il nome, è possibile configurare la libreria di attivazione del plugin TGM con questo array. Ha anche il proprio set di opzioni che è necessario impostare:

  • id (stringa): un ID univoco per la libreria di attivazione del plug-in TGM che hai implementato nel tuo tema. Questo è in realtà molto importante: se un altro plug-in utilizza anche l'attivazione del plug-in TGM, i diversi ID impediscono i conflitti.
  • default_path (stringa): il percorso assoluto predefinito per i plug-in all'interno del tema. Quando lo imposti, puoi semplicemente usare il nome del file ZIP come fonte parametro per il tuo plugin.
  • menu (string) - Il menu slug per la pagina di installazione del plugin.
  • has_notices (booleano) - Se impostato su vero, le notifiche di amministrazione vengono visualizzate per i plugin richiesti / consigliati.
  • dismissible (booleano) - Se impostato su vero, l'utente può "respingere" le notifiche.
  • dismiss_msg (stringa) - Se il dismissable l'opzione è impostata su false, questo messaggio verrà visualizzato sopra l'avviso di amministrazione.
  • is_automatic (booleano) - Se impostato su vero, i plugin verranno attivati ​​dopo che l'utente accetterà di installarli.
  • Messaggio (stringa) - HTML opzionale da visualizzare prima della tabella dei plugin.
  • stringhe (array) - Ancora un altro schieramento che include i messaggi da visualizzare. Puoi anche impostarli come stringhe traducibili. Guarda il example.php file per vedere l'elenco completo delle stringhe di messaggi.
 'mytheme-tgmpa', // il tuo ID TGMPA unico 'default_path' => get_stylesheet_directory (). '/ lib / plugins /', // percorso assoluto assoluto 'menu' => 'mytheme-install-required-plugins', // menu slug 'has_notices' => true, // Mostra notifiche di amministratore 'eliminabili' => false , // le notifiche NON sono eliminabili 'dismiss_msg' => 'Ho davvero bisogno di installare questi plugin, ok?', // questo messaggio verrà visualizzato all'inizio di nag 'is_automatic' => true, // automatically attiva i plugin dopo l'installazione 'messaggio' => '', // messaggio per l'output subito prima della tabella dei plugin' stringhe '=> array (); // La matrice di stringhe di messaggio utilizzata dall'attivazione del plug-in TGM); ?>

Avvolgere tutto

Come puoi vedere, non è affatto impossibile offrire funzionalità con temi WordPress: devi solo pensare agli utenti quando passano dal tema a un altro. La libreria di attivazione del plug-in TGM offre un modo davvero intelligente di riprodurlo dal libro.

Cosa ne pensi di questo strumento? L'hai mai usato o hai intenzione di usarlo in futuro? Dicci cosa ne pensi commentando di seguito. E se ti è piaciuto questo articolo, non dimenticare di condividerlo con i tuoi amici!