Nello sviluppo di WordPress, un filtro può essere utilizzato per modificare o estendere le funzionalità di WordPress. Lo fa prendendo alcuni dati forniti da WordPress, cambiandoli in qualcos’altro e poi passandoli di nuovo.
I filtri sono una delle caratteristiche principali che rendono WordPress così personalizzabile. Sono pezzi di codice PHP che vengono “hookati” a un evento di WordPress. Quando l’evento viene triggerato, il filtro viene applicato all’output di dati generato dall’hook dell’evento.
Sono molto utilizzati dagli sviluppatori di plugin e temi. Tuttavia, se non siete sviluppatori, potete incollare frammenti di codice dal web per aggiungere nuove caratteristiche al vostro sito web. Molti di questi includono filtri.
Che cos’è un filtro in WordPress?
Un filtro modifica il comportamento predefinito di una funzione specifica sul vostro sito web WordPress. Lo fa manipolando i dati che riceve e restituendoli a WordPress prima che vengano visualizzati nel browser.
Ad esempio, i filtri possono essere utilizzati per troncare il testo, modificare la formattazione dei contenuti, allegare collegamenti agli articoli, modificare i blocchi di una pagina e cambiare le opzioni recuperate dal database. Possono anche modificare la lunghezza di un riassunto, inserire articoli correlati sotto il contenuto principale o modificare un prezzo in WooCommerce.
I filtri vengono aggiunti utilizzando la funzione add_filter()
. WordPress ha diverse funzioni che consentono di utilizzare le azioni, ma queste sono quelle più comunemente utilizzate:
add_filter()
: allega una funzione a un hookremove_filter()
: rimuove una funzione allegata a un filter hook specificatodoing_filter()
: rileva qualsiasi filtro in corso di esecuzionehas_filter()
: seleziona se è stato registrato un filtro
I filtri sono utilizzati dagli sviluppatori di plugin e temi per aggiungere funzionalità extra a WordPress. È possibile utilizzare anche i filtri per personalizzare il tema aggiungendo frammenti di codice da tutorial online.
Nota: se siete principianti, vi sconsigliamo di modificare i file di WordPress. Solo gli utenti esperti che si sentono a proprio agio con la modifica del file functions.php e che hanno una certa conoscenza di PHP dovrebbero provare a farlo.
I principianti dovrebbero utilizzare un plugin per svolgere il compito che desiderano o rivolgersi a un professionista per modificare il codice al posto loro.
Prima di modificare qualsiasi codice sul vostro sito WordPress, vi consigliamo di eseguire un backup del sito web in caso di errore di codifica. Se non avete un plugin di backup, leggete il nostro articolo in cui confrontiamo i migliori plugin di backup per WordPress.
Si consiglia inoltre di non aggiungere il codice direttamente ai file del tema, altrimenti si perderanno i personalizzati al successivo aggiornamento del tema.
Si dovrebbe invece utilizzare un plugin Code Snippets per aggiungere codice personalizzato in WordPress, creare un plugin specifico per il sito o creare un tema child e modificarlo al posto del tema genitore.
Consultate la nostra guida su come aggiornare un tema di WordPress senza perdere la personalizzazione.
Qual è la differenza tra gli hook, le azioni e i filtri?
Per comprendere meglio i filtri in WordPress, è utile vedere come si relazionano con altri due termini, gli hook e le azioni. Capire questi tre termini insieme renderà il termine “filtro” un po’ più facile da capire.
Glihook sono alla base dello sviluppo di plugin e temi per WordPress. Sono luoghi in cui gli sviluppatori possono “hookare” il loro codice personalizzato in WordPress in punti specifici e modificare il funzionamento di WordPress senza modificare i file principali.
Esistono due tipi di hook.
- I filter hook consentono di modificare qualcosa. Intercettano i dati elaborati e consentono di modificarli, per poi ritrasmetterli. Sono usati per filtrare l’output quando viene inviato a un database o al browser dell’utente.
- Gliaction hook permettono di fare qualcosa. Permettono di aggiungere funzionalità extra e vengono eseguiti quando si verificano eventi come l’attivazione di un tema o di un plugin o la pubblicazione di un articolo. Una volta eseguita l’azione, non hanno bisogno di trasmettere alcuna informazione.
Questi action hook e filter hook sono alla base del funzionamento del nucleo di WordPress, dei temi e dei plugin. Lavorano insieme per consentire agli sviluppatori una grande flessibilità nel modificare eventi, filtri e azioni predefiniti di WordPress.
Gli sviluppatori possono anche creare azioni e filtri personalizzati, in modo che altri sviluppatori possano estendere i loro plugin o temi.
Esempi di filtri di WordPress
Che aspetto ha un filtro? Ecco alcuni esempi.
Supponiamo di voler visualizzare un’icona quando un articolo appartiene a una particolare categoria. In questo scenario, creiamo una funzione che selezioni se un articolo appartiene a quella particolare categoria. Se lo è, visualizza l’immagine.
Quindi, si aggancia la funzione all’evento the_content
. Ora, ogni volta che si verifica l’evento the_content
, la nostra funzione viene automaticamente triggerata per filtrare l’output dell’evento the_content
.
// First we hook our own function with the_content event
add_filter( 'the_content', 'wpb_content_filter' );
// Now we define what our function would do.
// In this example it displays an image if a post is in news category.
function wpb_content_filter( $content ) {
if ( in_category('news') )
$content = sprintf('<img class="news-icon" src="%s/images/news_icon.png" alt="News icon" title="" />%s', get_bloginfo( 'stylesheet_directory' ), $content);
// Returns the content.
return $content;
}
Ecco un altro esempio di utilizzo di un filtro di WordPress.
Questo esempio di codice aggiunge una funzione wpb_custom_excerpt
al filtro get_the_excerpt
.
function wpb_custom_excerpt( $output ) {
if ( has_excerpt() && ! is_attachment() ) {
$output .= wpb_continue_reading_link();
}
return $output;
}
add_filter( 'get_the_excerpt', 'wpb_custom_excerpt' );
Potete approfondirne la conoscenza studiando le nostre guide di WordPress che utilizzano i filtri. Ad esempio, ecco alcune guide che mostrano come realizzare qualcosa di pratico utilizzando i filtri di WordPress:
- Come mostrare menu diversi agli utenti connessi
- Come disabilitare la barra di amministrazione per tutti gli utenti, compresi gli amministratori
- Come aggiornare automaticamente i plugin di WordPress
- Come disabilitare i suggerimenti per l’accesso in WordPress
- Come disabilitare le notifiche degli aggiornamenti automatici via email
WordPress ha molti filtri predefiniti che permettono agli sviluppatori di aggiungere il proprio codice in punti specifici del nucleo di WordPress. L’API dei plugin di WordPress fornisce un ampio elenco di filter hook disponibili.
Speriamo che questo articolo vi abbia aiutato ad approfondire il tema dei filtri in WordPress. Potreste anche consultare il nostro elenco di letture aggiuntive qui sotto per trovare articoli correlati su suggerimenti, trucchi e idee utili per WordPress.
Se questa guida vi è piaciuta, vi invitiamo a iscrivervi al nostro canale YouTube per i video tutorial di WordPress. Ci trovate anche su Twitter e Facebook.