Sapete cos’è il file functions.php di WordPress o come usarlo?

In poche parole, il file functions.php di WordPress permette di aggiungere snippet di codice al sito. Questi snippet possono essere utilizzati in molti modi, quindi capire come funziona il file functions.php può aiutarvi a creare un sito WordPress migliore.

E questa è una guida definitiva al file functions.php di WordPress che vi illustrerà tutto quello che c’è da sapere al riguardo.

Dopo aver spiegato tutto sul file functions.php, offriremo anche 17 utili snippet di codice per il functions.php per aiutarvi a personalizzare il vostro sito.

Cosa Fa il File functions.php di WordPress?

Il file functions.php di WordPress è un file del tema da utilizzare per aggiungere frammenti di codice personalizzati al proprio sito. Si possono utilizzare questi snippet per modificare il funzionamento di diverse aree del sito o per aggiungere nuovi contenuti o del codice.

Anche se fa parte deel tema, il file functions.php di WordPress non si limita alla personalizzazione del tema stesso.

È possibile apportare modifiche a qualsiasi parte del sito, più o meno come si fa con i plugin.

Ecco alcuni tipi di modifiche che si possono effettuare utilizzando il file functions.php di WordPress:

  • Modificare il comportamento predefinito di WordPress, ad esempio quanti post mostrare nella pagina dei risultati di ricerca o quali contenuti includere nel feed RSS del sito.
  • Creare shortcode personalizzati.
  • Aggiungere nuovi contenuti o script al sito, come ad esempio iniettare uno script del proprio servizio di live chat in alcune pagine o modificare il footer del sito.

Ma questo è solo una piccola parte.

Dato che il file functions.php permette di aggiungere al sito snippet di codice PHP personalizzati anziché codice HTML statico, le modifiche che si possono apportare sono pressoché infinite.

Dove si Trova il File functions.php di WordPress?

Il file functions.php di WordPress si trova nella cartella del tema attivo, insieme ad altri file del tema. Per trovare il file, basta collegarsi al server utilizzando l’FTP o uno strumento di gestione dei file e navigare in …/wp-content/themes/[nome del tema attivo]/functions.php

Ad esempio, se state utilizzando il famoso tema OceanWP, il file functions.php si trova in …/wp-content/themes/oceanwp/functions.php

Lavorare in Sicurezza con il File functions.php

Poiché lavorare con il file functions.php di WordPress comporta l’aggiunta di codice al proprio sito web, è importante seguire alcuni accorgimenti prima di iniziare a fare qualsiasi modifica.

Anche qualcosa di semplice come una virgola o un apostrofo mancante può causare errori sul sito, come la schermata bianca della morte (White Screen of Death) di WordPress.

Nelle versioni più recenti di WordPress, questi errori vengono gestiti in modo più accurato, ad esempio mostrando il messaggio “Si è verificato un errore critico sul tuo sito web” o verificando la presenza di errori PHP prima di salvare le modifiche.

Ad ogni modo, per evitare che si verifichino problemi, vi consigliamo sempre di seguire queste best practice.

Testare il Codice del File functions.php su un Sito di Prova

Prima di aggiungere qualsiasi snippet di codice functions.php al proprio sito WordPress live, consigliamo sempre di testarlo su una versione di staging del sito. In questo modo potrete controllare eventuali errori e verificare che lo snippet funzioni come previsto.

Se avete un hosting con Kinsta, Kinsta offre un semplice strumento di staging a un solo clic su tutti i piani, che è uno dei vantaggi dell’utilizzo di un Hosting WordPress Gestito.

Se il vostro hosting è di un altro tipo, consultate la nostra guida sulla creazione di un sito di staging per WordPress.

Eseguire il Backup del Sito Prima di Apportare Modifiche al File functions.php

Oltre a testare su un sito di staging, dovrete eseguire un backup del sito web live prima di aggiungere il frammento di codice al file functions.php del sito live.

Questa è una buona pratica da seguire quando si modificano i file di WordPress.

Se qualcosa dovesse andare storto con lo snippet, potrete ripristinare questo backup per far funzionare immediatamente il sito.

Se il vostro hosting è gestito da Kinsta, Kinsta esegue automaticamente il backup del sito ogni giorno ed è anche possibile creare manualmente un backup in qualsiasi momento. Se il sito è ospitato altrove, leggete la nostra guida su come eseguire il backup di un sito WordPress.

Utilizzare Sempre un Child Theme Quando si Deve Modificare il File functions.php

Poiché il file functions.php di WordPress si trova nel codice del tema WordPress, il tema sovrascriverà il file functions.php quando lo aggiornerete.

Per evitare che le modifiche apportate al file functions.php del tema vengano sovrascritte, è sempre bene utilizzare un child theme di WordPress e aggiungere gli snippet di codice al file functions.php del child theme.

Utilizzando un child theme, potrete comunque aggiornare il tema principale quando necessario, ma tutte le personalizzazioni del functions.php non saranno mai sovrascritte.

Per saperne di più, consultate la nostra guida completa su come creare un child theme per WordPress.

2 Alternative al File functions.php

Sebbene il file functions.php di WordPress offra un modo semplice per aggiungere frammenti di codice al sito, esistono alcune alternative a functions.php che offrono una soluzione migliore nella maggior parte delle situazioni:

  1. Utilizzare un plugin per la gestione del codice
  2. Memorizzare gli snippet di codice in un plugin personalizzato

Queste alternative possono presentare alcuni vantaggi rispetto all’utilizzo del file functions.php:

  • Non sono legate al tema – questo significa che se si dovesse cambiare tema, le personalizzazioni in functions.php saranno ancora presenti.
  • Migliore organizzazione – queste alternative rendono più facile l’organizzazione dei frammenti di codice, il che può essere utile se si ha intenzione di aggiungere molti snippet al sito.
  • Maggiore controllo – nel caso di un plugin per la gestione del codice, si avranno a disposizione opzioni utili come l’abilitazione/disabilitazione di uno snippet tramite un pulsante, l’esecuzione di snippet solo sul frontend o sul backend e altro ancora.

Usare un Plugin per la Gestione del Codice

Un plugin per la gestione del codice è un plugin che offre un’interfaccia facile da usare per aggiungere e modificare gli snippet di codice che altrimenti andrebbero nel file functions.php.

Una delle opzioni più popolari è il plugin gratuito Code Snippets, ma esistono altri plugin che offrono funzionalità simili.

Con Code Snippets, è possibile aggiungere gli snippet di codice functions.php dalla bacheca di WordPress, con tanto di opzioni per:

  • Aggiungere un titolo e una descrizione.
  • Organizzare gli snippet utilizzando dei tag.
  • Eseguire lo snippet solo in una determinata parte del sito.
Aggiunta di uno snippet di codice nel plugin Code Snippets.
Aggiunta di uno snippet di codice nel plugin Code Snippets.

In questo modo potrete vedere tutti gli snippet in un elenco e attivarli/disattivarli facilmente a seconda delle vostre necessità.

Come gestire gli snippet in Code Snippets.
Come gestire gli snippet in Code Snippets.

Poiché Code Snippets è un plugin, tutti gli snippet di codice saranno sempre presenti anche se cambierete tema di WordPress.

Creare un Plugin di Funzioni Personalizzate

Un’altra alternativa all’uso del file functions.php di WordPress è quella di creare un plugin personalizzato per ospitare gli snippet di codice.

Anche se può sembrare complicato, in realtà è molto più semplice di quanto si pensi.

Ecco come funziona:

  1. Create una cartella sul computer locale per il vostro plugin.
  2. Create un singolo file .php all’interno della cartella e modificatelo con il vostro editor di testo preferito.
  3. Aggiungete il modello di codice qui sotto al file.
  4. Aggiungete gli snippet di codice functions.php al file.
<?php

/**
* Plugin Name: My Custom Code Snippets
* Description: This is a custom plugin to house code snippets.
* Author: Kinsta
* Version: 1.0
*/

/* Add the first code snippet below this comment - use the comment to explain what it does. */
[CODE]

/* Add the second code snippet below this comment. */
[CODE]

/* Continue as needed. */
[CODE]

?>

A questo punto, non resta che installare e attivare il plugin su WordPress. Ecco due modi per farlo:

  1. Collegatevi al server tramite FTP/SFTP e caricate la cartella del plugin personalizzato nella cartella wp-content/plugins. Poi, andate nell’elenco dei plugin e attivate il plugin.
  2. Usate il computer per creare un file .zip della cartella. Quindi, andate su Plugin → Aggiungi nuovo e caricate il file .zip per installarlo come qualsiasi altro plugin.

Come Accedere al File functions.php di WordPress: 2 Opzioni

Esistono diversi modi per accedere e modificare il file functions.php di WordPress. Ecco due dei metodi più versatili che funzionano con qualsiasi host:

  1. Editor del codice del tema della bacheca di WordPress.
  2. SFTP ed editor di codice.

1. Utilizzare l’Editor del Codice del Tema della Bacheca di WordPress

Per impostazione predefinita, WordPress permette di modificare tutto il codice del tema dalla bacheca di WordPress, compreso il file functions.php:

  1. Aprite la bacheca di WordPress.
  2. Andate su Aspetto → Editor dei file del tema.
  3. Selezionate il file Funzioni del tema (functions.php) nell’elenco dei file del tema sul lato destro.
  4. Aggiungete le modifiche nell’editor di codice.
  5. Cliccate sul pulsante Aggiorna file per salvare le modifiche.
Come modificare il file functions.php dalla bacheca di WordPress.
Come modificare il file functions.php dalla bacheca di WordPress.

Detto questo, molte persone preferiscono disabilitare la modifica dei file dalla bacheca di WordPress per aumentare la sicurezza. In questo caso, si può utilizzare il metodo seguente.

2. Usare SFTP + un Editor di Codice

Per modificare il file functions.php di WordPress, collegatevi al vostro server tramite FTP/SFTP e modificate il file.

Ecco come fare:

  1. Scaricate un client FTP se non l’avete ancora fatto – per gli screenshot useremo il client gratuito FileZilla.
  2. Connettetevi al server utilizzando le credenziali FTP – ecco come utilizzare l’SFTP per connettersi.
  3. Utilizzate la struttura delle cartelle per navigare in …/wp-content/themes/[your-active-child-theme].
  4. Cliccate con il tasto destro del mouse sul file functions.php e selezionate Modifica.
Come modificare il file functions.php con FileZilla.
Come modificare il file functions.php con FileZilla.

Questo dovrebbe scaricare il file sul vostro computer locale e aprirlo automaticamente in un editor di testo. Ora potete aggiungere i frammenti di codice al file.

FileZilla aprirà il file in un editor di testo locale, ad esempio Sublime Text.
FileZilla aprirà il file in un editor di testo locale, ad esempio Sublime Text.

Quando avrete finito, salvate le modifiche e chiudete il file.

FileZilla dovrebbe quindi mostrare un prompt per ricaricare la versione modificata sul vostro server.

Assicurarsi di ricaricare il file functions.php una volta apportate le modifiche.
Assicurarsi di ricaricare il file functions.php una volta apportate le modifiche.

Le Funzioni più Utili da Aggiungere al File functions.php di WordPress

Ora che sapete come modificare il file functions.php di WordPress, vediamo alcuni degli snippet di codice functions.php più utili da aggiungere al sito.

Mostrare la Data dell’Ultima Modifica negli Articoli del Blog

Per impostazione predefinita, la maggior parte dei temi mostra la data di pubblicazione di un articolo del blog. Se però aggiornate e rinfrescate regolarmente i vecchi contenuti, potreste voler mostrare anche l’ultima data di modifica (o sostituire la data di pubblicazione con l’ultima data di modifica).

In questo modo non solo i visitatori sapranno che state aggiornando i contenuti, ma lo saprà anche Google.

function show_last_updated( $content ) {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'show_last_updated' );

Per maggiori dettagli, consultate il nostro articolo su come mostrare la data di ultima modifica su WordPress.

Disabilitare la Barra degli Strumenti di WordPress per Alcuni Utenti

Per impostazione predefinita, WordPress mostra la barra degli strumenti di WordPress a tutti gli utenti che hanno effettuato l’accesso utilizzando i ruoli utente di WordPress. Questo non vale necessariamente per i ruoli personalizzati, come ad esempio il ruolo utente Cliente per i Negozi WooCommerce.

Per effettuare questa modifica, potete usare uno snippet di codice functions.php per nascondere la barra degli strumenti di WordPress per alcuni ruoli utente.

Questo esempio prevede di nascondere la barra degli strumenti di amministrazione per gli utenti con il ruolo di autore.

add_filter( 'show_admin_bar', function( $show ) {
if ( current_user_can( 'author' ) ) {
return false;
}
return $show;
} );

Ritardare la Visualizzazione dei Post nel Feed RSS

Per impostazione predefinita, i contenuti appaiono nel feed RSS non appena vengono pubblicati. Questo può dare la possibilità agli scraper di “raschiare” i vostri contenuti e indicizzarli su Google prima ancora che Google indicizzi il post originale.

Per evitare che qualcun altro si prenda il merito dei vostri contenuti, è possibile ritardare la comparsa dei post nel feed RSS.

Anche se questo non fermerà completamente gli scraper di contenuti, almeno darete a Google il tempo di indicizzarli prima.

Ecco lo snippet di codice: si può cambiare il numero – “30” in questo esempio – con il numero di minuti di ritardo desiderato:

function kinsta_delay_feed_content($where) {

global $wpdb;

if ( is_feed() ) {
// timestamp in WP-format
$now = gmdate('Y-m-d H:i:s');

// value for wait; + device
$wait = '30'; // integer

// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}

add_filter('posts_where', 'kinsta_delay_feed_content');

Escludere Alcune Categorie dal Feed RSS

Oltre a ritardare la comparsa dei contenuti nel feed RSS, magari volete anche escludere intere categorie di post dal feed RSS del sito.

Per ottenere questo risultato, utilizzate il seguente frammento di codice functions.php:

function kinsta_exclude_category_rss($query) {
if ($query->is_feed) {
$query->set('cat','-38');
}
return $query;
}
add_filter('pre_get_posts','kinsta_exclude_category_rss');

Assicuratevi di sostituire l’ID della categoria di esempio – “38” – con gli ID delle categorie che volete escludere (e di non rimuovere il segno meno)

Ecco come trovare il numero ID:

  1. Andate su Messaggi → Categorie per vedere l’elenco di tutte le categorie del sito.
  2. Cliccate su Modifica sotto la categoria che volete escludere.
  3. Guardate l’URL della pagina di modifica nella barra degli indirizzi del browser. L’ID della categoria è il numero che viene dopo ?taxonomy=category&tag_ID=X.

Ad esempio, se l’URL è https://yoursite.com/wp-admin/term.php?taxonomy=category&tag_ID=38&post_type=post, allora l’ID della categoria è 38.

Limitare le Revisioni di WordPress per Tipo di Post

Per evitare di gonfiare il database del sito, si può limitare il numero di revisioni dei post da salvare.

Sebbene un modo per limitare le revisioni dei post di WordPress in tutto il sito sia quello di modificare il file wp-config.php del sito, magari preferite memorizzare un numero diverso di revisioni per diversi tipi di post, ad esempio per gli articoli del blog o per i prodotti di WooCommerce.

Questo frammento di codice functions.php vi permetterà di farlo. Per personalizzarlo, cambiate il tipo di post – “post” in questo esempio – con il tipo di post da controllare e il numero – “5” in questo esempio – con il numero di revisioni da memorizzare.

function kinsta_post_revisions_by_type( $revisions, $post ) {

if( 'post' == $post->post_type ) {
$revisions = 5;
}

return $revisions;

}

add_filter( 'wp_revisions_to_keep', 'kinsta_post_revisions_by_type', 10, 2 );

* Nota: state modificando il “post” che viene immediatamente dopo l’istruzione “if”. Ad esempio, per puntare ai prodotti, questa riga dovrebbe essere così:

if( 'product' == $post->post_type ) {

Disattivare la Funzione di Ricerca di WordPress

Se il vostro sito non ha bisogno di funzionalità di ricerca, si può disabilitare la funzione di ricerca di WordPress per evitare potenziali abusi.

Infatti, anche se non visualizzate una casella di ricerca sul sito, i bot possono comunque utilizzare la funzione di ricerca aggiungendo ?s=[termine di ricerca] all’URL.

Per fare ciò, basta aggiungere il seguente snippet:

function kinsta_disable_wp_search( $query, $error = true ) {

if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;

// to error
if ( $error == true )
$query->is_404 = true;
}
}

add_action( 'parse_query', 'kinsta_disable_wp_search' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

Se qualcuno tenta di utilizzare direttamente la funzione di ricerca, il sito restituirà una pagina 404.

Creare Shortcode Personalizzati (ad es. Anno Corrente)

Gli shortcode di WordPress sono delle scorciatoie molto utili che permettono di incorporare contenuti dinamici nel proprio sito.

Sebbene molti plugin di WordPress si affidino agli shortcode per le loro funzionalità, è anche possibile creare i propri shortcode personalizzati utilizzando il file functions.php di WordPress e la funzione add_shortcode().

Ad esempio, un caso d’uso comune è quello di creare uno shortcode che mostri l’anno corrente. In questo modo si può mostrare automaticamente l’anno corrente in tutti i contenuti senza dover aggiornare manualmente tutto il sito ogni 1° gennaio.

Per creare uno shortcode di questo tipo, utilizzate il seguente codice:

function year_shortcode() {
$year = date('Y');
return $year;
}
add_shortcode('currentyear', 'year_shortcode');

Quando aggiungerete lo shortcode [currentyear] ai vostri contenuti, verrà automaticamente sostituito con l’anno attuale, ad esempio 2023.

Consentire gli Shortcode nei Titoli dei Post

Per impostazione predefinita, WordPress non esegue gli shortcode inseriti nel campo del titolo degli articoli. Se volete utilizzare gli shortcode nei titoli dei post di WordPress, potrete abilitare questa funzionalità aggiungendo un semplice frammento di codice al file functions.php di WordPress.

Ad esempio, se combinato con lo snippet di codice precedente, questo vi permetterà di includere automaticamente l’anno corrente nel titolo dell’articolo aggiungendo lo shortcode [currentyear].

add_filter( 'the_title', 'do_shortcode' );

Nascondere gli Errori di Accesso per Migliorare la Sicurezza

Per impostazione predefinita, WordPress mostra un messaggio esplicativo in caso di tentativi di accesso falliti. Questo messaggio può fornire alcune informazioni, come ad esempio se un certo indirizzo e-mail è registrato sul sito (anche se la password non è corretta).

Per evitare di far trapelare informazioni potenzialmente sensibili, è possibile nascondere questi errori di accesso aggiungendo il seguente frammento di codice al file functions.php.

function kinsta_hide_login_errors(){
return 'These are not valid credentials';
}
add_filter( 'login_errors', 'kinsta_hide_login_errors' );

Questo snippet sostituisce il testo predefinito dell’errore di login con il seguente messaggio – These are not valid credentials.

Potrete personalizzare il testo in base alle vostre preferenze, ma cercate di evitare l’uso di trattini, slash o altri caratteri che potrebbero causare un errore (a meno che non aggiungiate un “escape” di questi caratteri),

Modificare la Lunghezza dell’Estratto

Per impostazione predefinita, l’estratto di WordPress mostra le prime 55 parole di un post.

Per modificare questa impostazione, aggiungete il seguente snippet al file functions.php.

function kinsta_change_excerpt_length($length) {
return 90;
}
add_filter('excerpt_length', 'kinsta_change_excerpt_length');

Lo snippet di codice qui sopra cambierà la lunghezza dell’estratto in 90 parole. Se preferite un numero diverso, sostituite “90” con il numero esatto di parole che volete utilizzare.

Rimuovere il Numero di Versione di WordPress

Per rendere più difficile individuare la versione di WordPress ai malintenzionati, alcuni utenti preferiscono rimuovere il numero di versione di WordPress da qualsiasi parte del codice del frontend del sito.

Per farlo, aggiungete i seguenti snippet al file functions.php.

function kinsta_hide_version() {
return '';
}
add_filter('the_generator', 'kinsta_hide_version');

Impostare la Paginazione di WordPress

Se non siete soddisfatti del funzionamento della paginazione nel vostro tema, uno snippet di codice functions.php può regolare il comportamento della paginazione o addirittura creare un sistema di paginazione personalizzato.

Se vi interessa questo tipo di modifica, abbiamo una guida completa sulla paginazione di WordPress che include alcuni esempi di snippet functions.php.

Cambiare il Numero di Risultati da Includere nella Pagina dei Risultati di Ricerca

WordPress offre un’opzione nella bacheca per controllare quanti post elencare nelle pagine di archivio (Impostazioni → Lettura).

Tuttavia, questa impostazione modifica il numero per tutte le pagine di archivio. E se voleste utilizzare un numero diverso solo per la pagina dei risultati di ricerca?

Per farlo, aggiungete questo snippet al file functions.php – assicuratevi di cambiare il numero (“12” in questo esempio) con il numero effettivo di risultati che volete visualizzare prima di impaginare altri risultati.

function kinsta_search_results_list() {
if ( is_search() )
set_query_var('posts_per_archive_page', 12);
}

add_filter('pre_get_posts', 'kinsta_search_results_list');

Includere le Immagini in Primo Piano nel Feed RSS di WordPress

Per includere le immagini in primo piano degli articoli nel contenuto del feed RSS, aggiungete il seguente snippet al file functions.php.

function kinsta_featured_image_rss($content) {
global $post;
if ( has_post_thumbnail( $post->ID ) ){
$content = '<div>' . get_the_post_thumbnail( $post->ID, 'full', array( 'style' => 'margin-bottom: 15px;' ) ) . '</div>' . $content;
}
return $content;
}

add_filter('the_excerpt_rss', 'kinsta_featured_image_rss');
add_filter('the_content_feed', 'kinsta_featured_image_rss');

Così com’è scritto, il frammento di codice inserisce l’immagine a grandezza naturale. Per utilizzare una miniatura di dimensioni diverse, sostituite “full” con una miniatura di dimensioni diverse, ad esempio “large” o “medium”.

Aggiungere il supporto per il caricamento di tipi di file (ad esempio SVG)

Per impostazione predefinita, WordPress impedisce di caricare alcuni tipi di file, come ad esempio i file SVG.

Per abilitare il supporto per questi tipi di file bloccati, aggiungete il seguente frammento di codice al file functions.php di WordPress:

function kinsta_myme_types($mime_types){
$mime_types['svg'] = 'image/svg+xml';
return $mime_types;
}
add_filter('upload_mimes', 'kinsta_myme_types', 1, 1);

Questo snippet abilita solo il caricamento di SVG, ma si può modificare per aggiungere il supporto ad altri tipi di file se necessario.

Nascondere gli Avvisi di Aggiornamento di WordPress per i Non Amministratori

Per impostazione predefinita, WordPress mostra a tutti gli utenti con accesso alla bacheca dei messaggi quando è disponibile un nuovo aggiornamento.

Anche se il ruolo di un utente non consente di applicare l’aggiornamento, il messaggio della bacheca gli dirà di contattare l’amministratore.

Per modificare questo aspetto, utilizzate questo frammento di codice per nascondere le notifiche di aggiornamento per tutti gli utenti non amministratori:

function kinsta_hide_update_nag() {
if ( ! current_user_can( 'update_core' ) ) {
remove_action( 'admin_notices', 'update_nag', 3 );
}
}

add_action('admin_menu','kinsta_hide_update_nag');

Per altre varianti, consultate la nostra guida su come disattivare le notifiche di aggiornamento di WordPress.

Cambiare la Qualità dell’Ottimizzazione Automatica dei JPEG

Anche se non tutti conoscono questa funzione, WordPress comprime automaticamente le immagini JPEG quando crea le miniature per il sito dopo il caricamento delle immagini.

A partire da WordPress 4.5, WordPress ha impostato il livello di qualità predefinito a 82 (mentre 100 corrisponde a zero compressione).

Per aumentare o diminuire questo livello di qualità, aggiungete il seguente frammento di codice al file functions.php – assicuratevi di cambiare il numero (“90” in questo esempio) con l’effettivo livello di qualità che desiderate utilizzare:

add_filter( 'jpeg_quality', create_function( '', 'return 90;' ) );

Best practice per l’organizzazione del file functions.php di WordPress

Se state usando il file functions.php di WordPress solo per aggiungere un paio di snippet di codice, probabilmente non è necessario preoccuparvi dell’organizzazione.

Ma se state aggiungendo molti snippet al sito, il tutto può diventare rapidamente ingombrante e complesso se non si seguono alcune best practice di organizzazione del file functions.php.

Eccone alcune per mantenere organizzati i vostri snippet di codice.

Aggiungere Commenti al Codice

Quando aggiungete per la prima volta uno snippet di codice al file functions.php, sapete esattamente cosa fa lo snippet e perché lo avete aggiunto. Ma quando, a distanza di un anno, rivedrete il file functions.php, le cose potrebbero non sembrarvi così chiare.

Per evitare questo inconveniente, dovrete aggiungere dei commenti di codice a ogni snippet che spieghino cosa fa e perché l’avete aggiunto.

I commenti al codice sono testi che non vengono eseguiti da WordPress, ma che gli utenti possono leggere per capire cosa sta facendo il frammento di codice.

Per aggiungere un commento di codice di una sola riga, si può utilizzare questo formato:

// This is a single-line code comment

Per aggiungere un commento di codice a più righe, invece, utilizzate questo formato:

/**
* This is a code comment that spans multiple lines
* This text is also in the same comment
* This is the last line in the code comment
*/

Ecco un esempio di come utilizzare i commenti al codice: potete notare che il commento prima di ogni snippet spiega cosa fa lo snippet.

Un esempio di utilizzo dei commenti al codice per documentare gli snippet nel file functions.php.
Un esempio di utilizzo dei commenti al codice per documentare gli snippet nel file functions.php.

Utilizzare l’Inclusione dei File per Separare gli Snippet in Diversi File

Se avete davvero molti snippet di codice, potete archiviarli in file separati invece di usare solo il file functions.php.

Poi, potrete includere questi frammenti di codice nel file functions.php utilizzando include o require. Mike Schinkel ha pubblicato un buon esempio di come si fa su StackExchange .

Considerare una delle Alternative al functions.php già Menzionate

Se il vostro file functions.php sta diventando un po’ ingombrante, potreste preferire una delle alternative a functions.php che abbiamo descritto in precedenza.

Ad esempio, il plugin gratuito Code Snippets permette di organizzare tutto in modo molto semplice perché è possibile aggiungere ogni snippet di codice separatamente, con tanto di titolo e descrizione. Potete anche utilizzare dei tag per organizzare gli snippet.

Riepilogo

Il file functions.php di WordPress è un file specifico per ogni tema che permette di aggiungere snippet di codice PHP al sito web.

Per aggiungere degli snippet di codice al file functions.php, si dovrebbe sempre utilizzare un child theme in modo che le modifiche non vengano sovrascritte quando si aggiorna il tema. Vi consigliamo inoltre di eseguire un backup del sito prima di aggiungere gli snippet e di testarli su un sito di staging quando possibile.

In alternativa all’uso del file functions.php, si può anche prendere in considerazione l’idea di usare un plugin esistente per la gestione del codice, oppure creare un plugin personalizzato per ospitare gli snippet.

Ora che sapete come funziona il file functions.php di WordPress, potete iniziare a personalizzare il vostro sito in tanti modi utili.

Gli esempi di snippet functions.php riportati qui sopra offrono alcuni buoni punti di partenza, ma non c’è davvero alcun limite a quello che si può realizzare.

Jeremy Holcombe Kinsta

Content & Marketing Editor presso Kinsta, web developer di WordPress e content writer. Al di fuori di tutto ciò che riguarda WordPress, mi piacciono la spiaggia, il golf e il cinema. Ho anche i problemi di tutte le persone più alte della media ;).