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

Meilleure pratique : Vérifier l’existence de la fonction lors de l’Ajout d’un thème WordPress

Ajouté récemment, un utilisateur nous a demandé comment vérifier l’existence d’une fonction PHP avant d’ajouter un nouveau code à votre site WordPress qui en dépend.

La meilleure partie de WordPress est sa flexibilité, y compris la possibilité d’ajouter vos propres fonctions personnalisées à votre site. Cependant, il arrive que votre code personnalisé ne fonctionne pas parce que la fonction à laquelle il se réfère n’existe plus.

Dans cet article, nous allons vous afficher comment vérifier facilement si une fonction existe avant de l’ajouter à votre thème WordPress.

Checking if a function exists in WordPress

Pourquoi ajouter la fonction « Si la fonction existe » à votre code personnalisé ?

WordPress est principalement écrit en langage de programmation PHP. PHP est un langage de programmation côté serveur qui fonctionne sur les serveurs de votre fournisseur d’hébergement WordPress.

Comme le code PHP doit être exécuté avant que la page ne soit chargée dans les navigateurs de vos internautes, il présente certaines limites. L’une de ces limitations est que si quelque chose ne fonctionne pas correctement, cela peut empêcher le chargement de la page entière.

Dans WordPress, si une fonction manquante empêche le reste du code de s’exécuter, celui-ci s’arrête et affiche un message d’erreur critique ou d’erreur fatale.

WordPress critical error message

Qu’est-ce qui peut faire qu’une fonction cesse soudainement de fonctionner ou disparaisse ?

Il s’agit d’une erreur WordPress plus fréquente qu’on ne le pense.

Par exemple, disons que l’une de vos extensions WordPress est accompagnée d’une fonction que vous avez ajoutée à la zone de l’en-tête ou du pied de page de votre thème. Désactiver l’extension fera disparaître la fonction et provoquera l’erreur critique sur votre site WordPress.

Ceci étant dit, voyons comment vérifier facilement si une fonction existe avant de l’exécuter dans les fichiers de votre thème WordPress.

Vérifier l’existence d’une fonction dans WordPress

Heureusement, le langage de programmation PHP intègre une méthode permettant de vérifier facilement l’existence d’une fonction avant de l’exécuter.

Disons que vous avez une fonction WordPress qui affiche l’heure actuelle avec des informations sur le fuseau horaire. Voici un extrait de code que vous pouvez utiliser pour l’essayer.

Vous pouvez l’ajouter directement au fichier functions.php de votre thème, mais dans ce tutoriel, nous utiliserons l’extension d’extraits de code WPCode car c’est le moyen le plus sûr et le plus simple d’ajouter du code personnalisé dans WordPress.

Tout d’abord, vous devez installer et activer l’extension gratuite WPCode. Si vous avez besoin d’aide pour ce faire, veuillez consulter notre guide du débutant étape par étape sur l ‘installation d’une extension WordPress.

Une fois activé, vous devez vous rendre dans Code Snippets  » + Add Snippet sur votre tableau de bord WordPress. Une fois là, survolez avec votre souris l’option  » Ajouter votre code personnalisé (nouvel extrait) « , puis cliquez sur le bouton  » Utiliser l’extrait  » qui apparaît.

Adding Custom Code in WPCode

Une nouvelle page s’ouvre, dans laquelle vous pouvez ajouter votre extrait personnalisé. Saisissez un titre tel que « Afficher l’heure actuelle avec le fuseau horaire », puis collez l’extrait de code ci-dessous dans le volet Prévisualisation du code.

//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>";
}
Paste the Code Snippet Into WPCode

Ensuite, vous devez sélectionner « Extrait PHP » dans la liste déroulante Type de code pour vous assurer que le code s’exécute correctement.

Enfin, vous devez activer le commutateur Activate et cliquer sur le bouton « Save Snippet » (enregistrer l’extrait de code) pour stocker votre nouvel extrait de code.

Activate and Save the Code Snippet

Pour appeler cette fonction, vous devrez ajouter le code suivant à n’importe quel endroit de votre thème WordPress où vous souhaitez afficher l’heure actuelle.

<?php wpb_show_timezone(); ?>

Voici ce que cela donne sur notre site de test.

Function runs normally

Maintenant, que se passerait-il si le code responsable de l’exécution de cette fonction disparaissait ?

L’appel à la fonction cassera votre site comme suit.

Critical error in WordPress

Ajoutons une vérification pour nous assurer que ce code s’exécute uniquement lorsque la fonction existe.

Là encore, vous devrez ajouter le code directement dans le fichier functions.php de votre thème ou utiliser une extension d’extraits de code telle que WPCode (recommandé) :

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

Dans ce code, nous utilisons la fonction function_exists(). Cette fonction vérifie si une fonction existe et renvoie True ou False.

Nous avons ensuite ajouté une condition if-else pour prendre les mesures appropriées en fonction de la disponibilité de la fonction.

Désormais, lorsque la fonction n’est plus disponible, le code va simplement l’Aller/au, et WordPress pourra charger le reste de votre site normalement.

Missing function skipped

Nous espérons que cet article vous a aidé à apprendre comment vérifier si une fonction existe dans WordPress. Vous pouvez également consulter notre guide complet de dépannage WordPress ou nos choix d’experts pour les meilleurs constructeurs de pages WordPress par glisser-déposer.

Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi cela compte et comment vous pouvez nous soutenir. Voici notre processus éditorial.

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.

L'ultime WordPress Toolkit

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tous les professionnels devraient avoir !

Reader Interactions

4 commentairesLaisser une réponse

  1. Syed Balkhi

    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

    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

    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 :)

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés selon notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.