Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coppa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Buona pratica: Verificare l’esistenza di una funzione quando la si aggiunge al tema di WordPress

Nota editoriale: guadagniamo una commissione dai link dei partner su WPBeginner. Le commissioni non influenzano le opinioni o le valutazioni dei nostri redattori. Per saperne di più su Processo editoriale.

Recentemente, un utente ci ha selezionato come verificare l’esistenza di una funzione PHP prima di aggiungere al sito WordPress del nuovo codice che fa affidamento su di essa.

La parte migliore di WordPress è la sua flessibilità, compresa la possibilità di aggiungere funzioni personalizzate al sito web. Tuttavia, a volte il codice personalizzato può non funzionare perché la funzione a cui si riferisce non esiste più.

In questo articolo vi mostreremo come verificare facilmente se una funzione esiste prima di aggiungerla al vostro tema WordPress.

Checking if a function exists in WordPress

Perché aggiungere ‘If Function Exists’ al codice personalizzato?

WordPress è scritto principalmente nel linguaggio di programmazione PHP. PHP è un linguaggio di programmazione lato server che viene eseguito sui server del vostro fornitore di hosting WordPress.

Poiché il codice PHP deve terminare l’esecuzione prima che la pagina venga caricata nei browser dei visitatori, ci sono alcune limitazioni. Una di queste limitazioni è che se qualcosa va storto, potrebbe impedire il caricamento dell’intera pagina.

In WordPress, se una funzione mancante impedisce l’esecuzione del resto del codice, questo si arresta e visualizza un messaggio di errore critico o di errore irreversibile.

WordPress critical error message

Cosa può far sì che una funzione smetta improvvisamente di funzionare o scompaia?

È un errore di WordPress più comune di quanto si possa pensare.

Ad esempio, supponiamo che uno dei plugin di WordPress sia dotato di una funzione che avete aggiunto all’header o al footer del tema. La disattivazione del plugin farà scomparire la funzione e causerà l’errore critico sul sito web di WordPress.

Detto questo, vediamo come verificare facilmente l’esistenza di una funzione prima di eseguirla nei file del tema di WordPress.

Selezionare l’esistenza di una funzione in WordPress

Fortunatamente, il linguaggio di programmazione PHP dispone di un metodo integrato per verificare facilmente l’esistenza di una funzione prima di eseguirla.

Supponiamo di avere una funzione di WordPress che visualizza l’ora corrente con informazioni sul fuso orario. Ecco uno snippet di codice di esempio che potete utilizzare per provarlo.

È possibile aggiungerlo direttamente al file functions.php del tema o utilizzare un plugin per gli snippet di codice come WPCode (consigliato). Potete consultare la nostra guida su come add-onare facilmente il codice personalizzato in WordPress:

//display current time with timezone
function wpb_show_timezone() {
$better_time = current_time('F j, Y g:i a e');
echo "<p>The current time is " . $better_time ."</p>";
}

Per richiamare questa funzione, è necessario aggiungere il seguente codice in qualsiasi punto del tema WordPress in cui si desidera visualizzare l’ora corrente.

<?php wpb_show_timezone(); ?>

Ecco come appariva sul nostro sito web di test.

Function runs normally

Ora, cosa accadrebbe se il codice responsabile dell’esecuzione di questa funzione scomparisse?

La chiamata alla funzione interromperà il sito web in questo modo.

Critical error in WordPress

Aggiungiamo un controllo per assicurarci che il codice venga eseguito solo quando la funzione esiste.

Anche in questo caso, è necessario aggiungere il codice direttamente al file functions.php del tema o utilizzare un plugin per gli snippet di codice come WPCode (consigliato):

<?php
if( function_exists('wpb_show_timezone')) {
wpb_show_timezone();
} else {
// do nothing
}
?>

In questo codice, si utilizza la funzione function_exists(). Questa funzione seleziona se una funzione esiste e restituisce True o False.

Abbiamo quindi add-on una condizione if-else per intraprendere un’azione appropriata in base alla disponibilità della funzione.

Ora, quando la funzione non è più disponibile, il codice la salterà e WordPress sarà in grado di caricare normalmente il resto del sito web.

Missing function skipped

Speriamo che questo articolo vi abbia aiutato a capire come controllare se una funzione esiste in WordPress. Potreste anche voler consultare la nostra guida completa alla risoluzione dei problemi di WordPress o le nostre scelte degli esperti per i migliori builder di pagine WordPress trascina e rilascia.

Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come WPBeginner è finanziato , perché è importante e come puoi sostenerci. Ecco il nostro processo editoriale .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Il kit di strumenti WordPress definitivo

Ottenete l'accesso gratuito al nostro kit di strumenti - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Reader Interactions

4 commentiLascia una risposta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Joana Pereira says

    Good call Kovshenin. I know exactly what you mean because I was using a custom function with contact form 7 (to retrieve the ip address on each form) and every time the plugin was updated, the theme broke.

    Thanks for the tip

    Joana Pereira

  3. kovshenin says

    Right, only please stop checking for dynamic_sidebar with function_exists in WordPress themes, unless you need to support WordPress 2.2 and below, which I *highly* doubt. Also with the user photo plugin, the whole approach seems to be wrong and redundant to me, it looks like many developers are missing the whole point of pluggable functions…. Oh well :)

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tenga presente che tutti i commenti sono moderati in base alle nostre politica dei commenti e il suo indirizzo e-mail NON sarà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avremo una conversazione personale e significativa.