Il plug-in per WordPress Plugin 101: come iniziare

Dall’inizio dei plugin di WordPress circa 10 anni fa non è cambiato molto nel modo in cui li scriviamo. Esiste un file plugin principale con un’intestazione seguito dal Wild West in pratica. Oltre all’utilizzo di hook, non esiste un modo standardizzato per creare plugin.


Questo non è necessariamente un problema. Esistono molti plug-in semplici che non necessitano di un quadro di riferimento e alcune persone sono in grado di scrivere un codice procedurale perfettamente coerente. Detto questo, la qualità del codice nei plugin non è generalmente la migliore, un framework o una metodologia farebbero molto per aumentarlo.

In questo articolo, esaminerò una possibile soluzione: WordPress Plugin Boilerplate. È pensato per essere un punto di partenza per lo sviluppo di plugin, un modo orientato agli oggetti di creare un plugin standardizzato. Poiché è codificato con i principi OOP, è principalmente destinato ai programmatori intermedi, ma puoi usarlo facilmente anche come principiante se sai cosa va dove. Entro la fine di questo articolo, dovresti sapere cosa è cosa e come puoi iniziare con esso, indipendentemente dalla tua esperienza di codifica.

Struttura generale dei file

Il boilerplate è pensato per essere usato come repository Github, quindi la directory principale contiene i file che si trovano comunemente nei repository Github. Il file README.md è un file Leggimi generale e viene visualizzato nella pagina del repository principale come descrizione. Il file CHANGELOG.md è per la registrazione delle modifiche tra versione e il file .gitignore è per l’impostazione dei file che git dovrebbe ignorare quando si lavora con i file.

La cartella principale qui nome-plugin è dove è archiviato il plugin. La sua struttura segue il repository di WordPress e puoi farlo "registrare" questa cartella nel repository plug-in SVN. Per impostazione predefinita, contiene la cartella delle risorse, che memorizza immagini e schermate per il plug-in, e la cartella trunk, che contiene il codice per il plug-in.

La cartella trunk è ciò che contiene il plug-in, è possibile incollare questa cartella in un’installazione di WordPress e attivare il plug-in. Vedremo i contenuti di questa cartella in dettaglio un po ‘più tardi. Prima di farlo, apriamo il negozio.

new-plugin

Impostazione di tutto

Avere tutte queste cartelle e la bellezza SVN / Git in un unico posto è tutto a posto, ma come si può effettivamente usare questo? Non puoi controllare l’intera cartella direttamente nella cartella dei plug-in, semplicemente non funzionerà. Controllare solo la directory trunk è una seccatura, inoltre non avrai accesso ai file al di fuori di quella directory.

Lascia che ti mostri il mio modo preferito di organizzare le cose. Ho una cartella sul mio computer con la seguente struttura:

  • github
    • Top-Autori
    • Immagini Easy-In primo piano-
    • Twitter-User-temporali
  • html
    • wp-admin
    • wp-content
    • wp-includes
    • altri file wordpress
  • wordpress
    • I piú autori
    • immagini di facile-optional-
    • twitter-user-temporali

La cartella html è dove è installato WordPress. La cartella github contiene tutti i miei plugin WordPress di Github. La cartella wordpress contiene gli stessi plugin estratti tramite SVN dal repository WordPress.

Creazione di un collegamento simbolico

Il primo passo che faccio è creare una versione vanilla di WordPress Plugin Boilerplate su Github. Poi lo controllo nella mia cartella github. Successivamente, creo un collegamento simbolico tra la cartella trunk all’interno della directory wp-content / plugins della mia installazione di WordPress.

Symlink è un riferimento a un file o una cartella che si risolve nella sua destinazione come ci si aspetterebbe. Il risultato finale di questo è che se si collega simbolicamente un plug-in da qualsiasi parte del sistema alla directory di WordPress, funzionerà perfettamente. Questo ti offre i seguenti vantaggi:

  • Puoi archiviare plugin altrove.
  • È possibile collegare simbolicamente una cartella all’interno di un repository più grande.
  • Puoi collegare simbolicamente lo stesso plugin in più installazioni.

La creazione di un collegamento simbolico è facile dal terminale o dal prompt dei comandi su Windows. Suggerisco di aprirne uno e passare alla directory dei plugin dell’installazione di WordPress. Quindi, digitare il seguente comando:

# Per OSX o Linux
ln -s / absolute / path / to / github / My-Plugin-Name / my-plugin-name / trunk my-plugin-name

# Per Windows
mklink / j C: \ absolute \ path \ to \ github \ My-Plugin-Name my-plugin-name

Questo crea un collegamento dal primo percorso al secondo. Il primo percorso è il percorso assoluto della directory trunk nel repository Github. Il secondo è solo il nome della cartella a cui vuoi collegarlo quando sei già nella directory dei plugin della tua installazione di WordPress.

Una volta fatto, dovresti vedere apparire il tuo nuovo plugin, proprio come nell’immagine sopra. Dovremo personalizzare le cose, ma ora il nostro plugin è in esecuzione dal repository Github, rendendo lo sviluppo un lotto Più facile.

Rinominare

Ci sono molte cartelle e file nella directory trunk, iniziamo a rinominarli! Prima di tutto, ti consiglio di nominare il tuo repository usando trattini e lettere maiuscole, qualcosa del genere: My-Awesome-Plugin. La cartella principale all’interno dovrebbe essere denominata “my-awesome-plugin”. Consiglio di utilizzare questa convenzione in tutto il plugin.

Rinominare i file è facile in OSX. Apri tutte le cartelle e seleziona tutti i file che contengono il nome plug-in della stringa. Fare clic con il tasto destro per rinominare tutti i 14 file e rinominare in batch il lotto.

rinominare

Sarà un po ‘più difficile in Windows, dai un’occhiata a questo HowToGeek articolo per maggiori informazioni, o semplicemente uno per uno.

Termini come "plugin-nome" e anche altre varianti sono diffuse in tutto il contenuto del file. Puoi usare Sublime, Atom.io o altri editor di testo capaci di sostituire in serie all’interno di più file. Ecco un elenco di ciò che dovresti sostituire (assicurati di fare sostituzioni di ricerca con distinzione tra maiuscole e minuscole).

  • PLUGIN_NAME dovrebbe diventare my_awesome_plugin
  • PLUGIN_NAME dovrebbe diventare My_Awesome_Plugin
  • plugin-nome dovrebbe diventare my-awesome-plugin

Una volta terminato, assicurati di compilare il commento dell’intestazione del file principale (my-awesome-plugin.php) per personalizzarlo in base alle tue esigenze.

Sommario

C’è molto contenuto nella piastra di caldaia dei plugin di WordPress. L’idea è quella di stabilire rigide linee guida su dove collocare le cose. C’è un posto specifico dove aggiungere i tuoi ganci, ad esempio un posto standard per aggiungere funzioni front-end e così via. Diamo un’occhiata alle parti principali del framework.

Nota che mi riferirò ai file come sono stati rinominati, ad esempio: Includes / class-my-awesome-plugin.php. Se hai rinominato il tuo plugin in qualcos’altro dovrai ricordare che la parte del mio file del mio file impressionante sarà diversa per te.

Attivazione, disattivazione e disinstallazione

Qualsiasi codice che si desidera eseguire quando il plug-in è attivato dovrebbe andare in include / my-awesome-plugin-name-activator.php. In questo file, c’è una classe chiamata My_Awesome_Plugin_Activator all’interno della quale c’è un metodo activ () che dovresti usare.

Non preoccuparti se non sei ancora al passo con gli oggetti, sapere dove mettere le cose sarà sufficiente per iniziare.

Il codice che devi eseguire sulla disattivazione deve essere inserito in include / my-awesome-plugin-name-deactivator.php. Il metodo activ () all’interno di My_Awesome_Plugin_Deactivator è ciò che dovrai usare.

Pensi che sia un po ‘troppo complesso? Non ti biasimo! Quando inizi a utilizzare concetti orientati agli oggetti, vedrai il vantaggio di questo rispetto al codice procedurale. Se non altro, fornisce un posto molto ovvio per inserire il tuo codice che è di per sé un grande aiuto.

Per la disinstallazione, il metodo consigliato è utilizzare uninstall.php, che è ciò che fa il plug-in WordPress Plugin Boilerplate. Il tuo codice dovrebbe essere posizionato in fondo a quel file.

Aggiunta di ganci

Gli hook sono gestiti in modo sorprendente dalla Boilerplate del plug-in di WordPress, ma all’inizio può sembrare un po ‘ingombrante. Tutti i tuoi hook devono essere posizionati all’interno di include / class-my-awesome-plugin.php. Più specificamente, all’interno della classe My_Awesome_Plugin, con due metodi:

  • define_public_hooks () quando si aggiunge un hook che viene usato sul front-end
  • define_admin_hooks () quando si aggiunge un hook che viene usato sul back-end

Invece di usare add_action () o add_filter () come al solito, dovrai fare le cose in modo leggermente diverso. Ecco come ad esempio modifichi il contenuto del post.

$ questo->caricatore->add_action (‘the_content’, $ plugin_public, ‘edit_post_content’);

Il primo parametro è il nome dell’hook, il secondo è un riferimento all’oggetto pubblico o admin. Per gli hook pubblici dovrebbe essere $ plugin_public, per gli hook di amministrazione dovrebbe essere $ plugin_admin. Il terzo parametro è la funzione hook.

Mentre sembra più contorto, standardizza completamente l’aggiunta di ganci, suddividendoli in due gruppi distinti nel processo.

Contenuti pubblici e amministrativi

WordPress Plugin Boilerplate suddivide gli hook in gruppi amministrativi / pubblici, ma non è tutto. Suddivide tutto il codice allo stesso modo chiedendoti di scrivere il codice rivolto verso il pubblico nella cartella pubblica e il codice rivolto verso l’amministratore nella cartella admin.

Entrambe le cartelle contengono cartelle css, js e parziali. Dovresti inserire le risorse CSS / JS usate in queste cartelle e scrivere modelli e altri bit riutilizzabili di HTML nella cartella dei parziali. Va bene creare nuovi file nella cartella dei parziali, infatti, questo è ciò per cui è lì!

Dovresti scrivere anche le tue funzioni agganciate in queste cartelle, all’interno della classe nelle rispettive directory. Quando abbiamo agganciato la funzione edit_post_content a the_content sopra, abbiamo detto a WordPress Plugin Boilerplate dove cercarla anche. Da quando l’abbiamo aggiunto al lato pubblico, il plug-in WordPress Plugin Boilerplate si aspetta che venga definito all’interno della classe My_Awesome_Plugin_Public che si trova nella cartella pubblica. Basta creare questa funzione all’interno della classe e scrivere tutto il resto come al solito.

Risorse e dipendenze

Se si desidera utilizzare risorse esterne, ad esempio Attivazione plugin TGM, dovresti aggiungerlo alla cartella include. TGM è un singolo file chiamato class-tgm-plugin-Activ.php che dovrebbe essere incluso nel file class-my-awesome-plugin.php, all’interno del metodo load_dependencies ():

Require_once plugin_dir_path (dirname (__FILE__)). ‘Includes / classe-TGM-plugin-activation.php’;

Panoramica

Sei confuso da tutti i nomi e le funzioni dei file? Non ti preoccupare, ti impadronirai abbastanza rapidamente. In effetti, di solito modificherai solo tre file:

  • include / class-my-awesome-plugin.php è dove aggiungi tutti i tuoi hook e dipendenze.
  • public / class-my-awesome-plugin-public.php è dove aggiungi tutte le funzioni pubbliche.
  • admin / class-my-awesome-plugin-admin.php è dove vanno tutte le funzioni rivolte all’amministratore.

Inizialmente, usare WordPress Plugin Boilerplate può sembrare una seccatura, ma alla fine pagherà. Tornerai un anno dopo e saprai dove si trova tutto, lo sviluppo del tuo plug-in sarà standardizzato su tutti i prodotti e altri sviluppatori saranno in grado di capire anche cosa sta succedendo.

Infine, non dimenticare che un plug-in che fornisce un semplice widget potrebbe non aver bisogno di un tale framework. Mentre l’uso del plug-in WordPress Plugin Boilerplate non rallenta il plug-in, ostruisce la vista se tutto ciò di cui hai bisogno sono poche semplici righe di codice!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map