Una guida all'utilizzo dei plugin di funzioni personalizzate in WordPress
Pubblicato: 2024-03-07Per oltre un decennio come sviluppatore backend di WordPress, ho utilizzato vari metodi per adattare WordPress alle mie esigenze e a quelle degli altri. Il più comune è scrivere plugin di funzioni personalizzate per WordPress. Come vedrai di seguito, questa non è l’unica opzione e non sempre è quella giusta.
Mentre dedico questo post agli sviluppatori, i project manager impareranno anche come questi metodi soddisfano le esigenze del loro team e quando e come utilizzarli.
Questi sono i metodi che sto utilizzando per personalizzare WordPress:
- Aggiungi il tuo codice al
functions.php
del tema - Scrivi un plugin per funzioni personalizzate di WordPress
- Utilizza un plug-in per gestire snippet di codice personalizzati
- Bonus: è necessario utilizzare i plugin
Diamo uno sguardo più approfondito a ciascuno di questi metodi.
Aggiungi il codice al file Functions.php
Ai “vecchi” tempi, quando WordPress utilizzava principalmente PHP nel frontend e nel backend, il modo più rapido per apportare alcune modifiche al tuo sito era aggiungere il codice al file Functions.php del tema.
Puoi ancora farlo e, se hai il coraggio, utilizza l'editor dei file dei temi nella dashboard di WordPress.
Nel corso del tempo, questo è passato dal mio modo preferito di personalizzare WordPress a quello che mi piace meno.
Il motivo principale è che il functions.php
è allegato a un tema. Se questo non è un tema personalizzato e qualcuno lo aggiorna, le mie modifiche scompariranno.
La soluzione è creare un tema figlio che contenga le modifiche relative al tema principale.
Il motivo principale per cui non aggiungo più tanto codice personalizzato al file functions.php
è che, in realtà, la maggior parte di questo codice era territorio dei plugin, aggiungendo funzionalità al sito in generale e non solo al tema.
Ci sono ancora due situazioni in cui scrivo codice personalizzato nel functions.php
:
- Il codice si riferisce al tema personalizzato o figlio.
- Testare le modifiche rapide prima di spostarle in un altro posto poiché spesso è di facile accesso a
functions.php
per questo.
Inoltre, tieni presente che functions.php
non è il luogo adatto per ospitare molte modifiche poiché un singolo file può diventare eccessivamente complesso. Soprattutto quando ho bisogno di più file PHP e altri tipi di file nelle mie modifiche, scelgo di scrivere un plugin per funzioni personalizzate di WordPress.
Scrittura di plugin per funzioni personalizzate
Come accennato in precedenza, la maggior parte del codice che aggiungo al mio sito in realtà crea o estende funzionalità indipendenti dal tema.
Una volta che so che aggiungerò ulteriori personalizzazioni a un sito, avvio un plug-in con funzioni personalizzate. Di solito porta il nome del sito, come lo chiamerei uno per WP Mayor, il plugin "WP Mayor Custom Functions".
Dare un nome è fondamentale! Innanzitutto, consente ad altri amministratori di vedere che questo plugin è correlato al sito e probabilmente ospita solo le modifiche relative ad esso.
In secondo luogo, mantenere la cartella del plugin e il nome del file univoci impedirà al tuo sito WordPress di sovrascriverlo accidentalmente con un plugin che ha lo stesso slug nel repository dei plugin di wordpress.org.
Creare un plugin per funzioni personalizzate di WordPress è semplice. Tutto ciò di cui hai bisogno è un file PHP all'interno di wp-content/plugins
. Tuttavia, dovresti prima creare una nuova cartella poiché spesso hai bisogno di più di un file per strutturare il tuo codice e potresti voler aggiungere file per il codice JavaScript e CSS.
Seguendo il nostro esempio, supponiamo che ora abbiamo la cartella del plugin wp-content/plugins/wp-mayor-custom-functions/wp-mayor-custom-functions.php
e il file principale.
Aggiungiamo un'intestazione al file per dire a WordPress di cosa tratta il nostro plugin. Sebbene il "Nome del plugin" sia sufficiente affinché funzioni tecnicamente, diamo un'occhiata a un esempio più avanzato:
/** * Plugin Name: WP Mayor Custom Function * Plugin URI: https://wpmayor.com * Description: All the cool features we custom-built for us. * Version: 1.0.0 * Requires at least: 6.2 * Requires PHP: 8.1 * Author: Thomas Maier */
Questo dovrebbe già essere visualizzato sotto “Plugin” nella nostra dashboard di WordPress.
Ora possiamo scatenarci e aggiungere il vero codice PHP al nostro file.
Suggerimento: quando non ho accesso FTP a un sito o sono semplicemente pigro, utilizzo il plug-in Pluginception per avviare rapidamente qualcosa che posso successivamente riempire con il codice tramite l'editor di file plug-in nella dashboard di WordPress.
Dovresti ora inserire tutto il codice per un sito specifico in un unico plug-in di funzioni personalizzate dedicato?
Dipende. Quando so che il codice personalizzato viene utilizzato su più progetti, lo separo in un plug-in diverso. Allo stesso tempo, raccolgo il codice dedicato a un sito specifico in un unico plugin. Meno plugin, meno repository di codice devo mantenere.
Sembra fantastico finora? Bene, mentre gestivo una società di plugin più grande negli ultimi anni e apportavo oltre un centinaio di modifiche al sito, ho notato che questi plugin personalizzati sono ancora molto focalizzati sullo sviluppatore. Quindi, diamo un'occhiata a un altro approccio nella sezione successiva.
Utilizzo di un plug-in di funzioni personalizzate per snippet di codice
Per la maggior parte del mio tempo in grandi aziende di plugin, ero responsabile del lato tecnico del nostro negozio di plugin.
Ho inserito qualsiasi codice che non fosse specifico del tema in un singolo plug-in di funzioni personalizzate. Tutti gli aggiustamenti ai singoli plugin e personalizzazioni, come il reindirizzamento delle schede vuote alla pagina dei prezzi, le proposte di upsell o le offerte del Black Friday, sono stati documentati e distribuiti su vari file con nomi leggibili.
Bene, "documentato" e "leggibile" per chiunque abbia accesso al codice.
Anche se ero sempre presente per apportare modifiche o rispondere a domande al riguardo, sentivo che questo non era un modo efficiente e sostenibile per gestire la maggior parte delle funzioni personalizzate.
Dato che sempre più persone sono coinvolte nella gestione del negozio e del sito web, volevo dare loro la possibilità di conoscere le modifiche senza dover tenere aggiornata una pagina dedicata nella nostra knowledge base.
La soluzione era installare un plug-in di funzioni personalizzate di WordPress che gestisca tutti o la maggior parte degli snippet di codice nella dashboard di WordPress.
Il mio preferito è il plugin gratuito Code Snippets, ma ce ne sono anche altri in giro.
Con gli snippet di codice è presente una voce di menu dedicata nella dashboard con tutti gli snippet.
Ora chiunque abbia accesso come amministratore può vedere le modifiche. Utilizzo nomi descrittivi per ogni frammento, utilizzo il campo note per descriverlo in modo approfondito e assegno tag alle modifiche del gruppo.
I miei tag sono solitamente il nome del plugin o del tema che viene modificato e la sezione della pagina interessata, come “WooCommerce” e “Checkout”.
Se scegli buoni nomi e una buona struttura, chiunque dovrebbe essere in grado di trovare e comprendere gli aggiustamenti. Me compreso. Uso questo metodo anche sui miei siti personali poiché offre così tanto comfort.
L'utilizzo di un plug-in di funzioni personalizzate è particolarmente utile per i frammenti di codice di cui hai bisogno solo temporaneamente, come un codice di pulizia che deve essere eseguito solo una volta ogni tanto o alcune azioni rivolte al frontend come l'attivazione di una promozione.
È sicuro?
Per impostazione predefinita, WordPress consente a chiunque abbia il ruolo di "amministratore" di modificare file di plugin e temi nel backend. L'uso di un plugin con codice personalizzato non è diverso da quello. Quindi, vale ancora la vecchia regola di stare sulla difensiva e di dare a tutti solo il ruolo necessario.
Gli sviluppatori potrebbero voler sapere che alcuni dei primissimi hook su una richiesta di pagina non sono disponibili quando gestiscono il codice tramite un plugin poiché il plugin stesso deve prima essere caricato. Se hai bisogno che il tuo codice personalizzato venga caricato prima di qualsiasi altro plugin, controlla l'opzione Must Use plugins di seguito.
Funzioni WordPress personalizzate nei plugin Must Use
I cosiddetti plugin “Must Use” sono una razza speciale tra i plugin.
Poiché vengono eseguiti prima di qualsiasi altro plug-in “normale”, li utilizzo per attivare o disattivare plug-in specifici per una determinata pagina. Potresti utilizzare tale codice per velocizzare le pseudo API o le chiamate a admin-ajax.php
.
Un'altra caratteristica dei plugin Must Use è che sono abilitati per impostazione predefinita e nessuno può disabilitarli o modificarli tramite la dashboard di WordPress. Ciò li rende ideali per il codice essenziale a cui nemmeno gli utenti amministratori dovrebbero essere in grado di accedere.
Creazione di un plugin mu
I plugin da utilizzare sono ospitati nella cartella wp-content/mu-plugins
. Questa cartella non esiste in una nuova installazione di WordPress. Tuttavia, alcuni plugin o società di hosting potrebbero aggiungere contenuti qui in modo dinamico.
Per aggiungere un nuovo plugin nella cartella mu-plugin, devi creare un file PHP sul tuo computer con l'intestazione del file plugin che ti ho mostrato sopra per il nostro plugin personalizzato. Questa volta non è importante scegliere un nome univoco poiché i plugin Must Use non vengono aggiornati automaticamente.
Una volta che sei soddisfatto del tuo nuovo plugin di funzioni personalizzate, caricalo manualmente tramite FTP nella cartella wp-content/mu-plugins
. Crea la cartella mu-plugins
se non esiste.
Sebbene non sia possibile modificare i plug-in Da utilizzare tramite il pannello di amministrazione di WordPress, è possibile visualizzarli elencati in Plugin > Da utilizzare.
Idealmente, i plugin Must Use sono plugin a file singolo. WordPress non riesce a trovarli nelle sottocartelle, anche se potresti fare riferimento a file aggiuntivi nel file PHP principale. Ma se crei un plugin Must Use complesso, pensa a spostare il codice principale in un plugin normale e usa il plugin MU solo per caricare ciò che è necessario per l'esecuzione prima di tutti gli altri plugin.
Conclusione
Abbiamo esplorato i vari metodi per aggiungere codice personalizzato a WordPress, dalla tradizionale aggiunta di codice al file functions.php
di un tema, plugin autonomi e plugin di funzioni personalizzate di WordPress all'uso di Must Use (mu-plugins). Ciascun metodo offre una serie di vantaggi e potenziali svantaggi, adattati alle diverse esigenze e scenari.
Come puoi vedere, questo è stato un viaggio per me come sviluppatore e project manager. Ancora oggi utilizzo tutti i metodi, a seconda del tipo di cambiamento e di chi dovrebbe avervi accesso.
Spero che questo articolo aiuti voi, colleghi sviluppatori junior e senior, a prendere le vostre decisioni sul modo giusto per aggiungere codice come plug-in di funzioni personalizzate in WordPress. Fammi sapere nei commenti se mi sono perso qualcosa.