WordPress : Function_exists() est-il considéré comme une bonne pratique lors de l’utilisation de fonctions 3.0+ ?

Publié par Jean-Michel le

Je sais que ce n’est pas nécessaire si nous utilisons le dernier wordpress, mais je me demande simplement si c’est une bonne pratique de toujours l’utiliser ou simplement d’utiliser les nouvelles fonctions 3.0+ sans lui, et devrions-nous l’utiliser pour des thèmes commerciaux ?

Merci d’avance.

Solution n°1 trouvée

Demander le noyau

WP a actuellement ~ 2,5k fonctions. Donc, si vous vérifiiez l’existence de chaque fonction lors de l’exécution, vous ralentiriez vraiment les choses.

Lire également:  Wordpress n'inclut pas les pages dans la recherche

Pourquoi est-ce?

Lorsque vous regardez wp core ou certains thèmes et qu’il s’agit de « pluggables », vous verrez alors que ceux-ci sont intégrés à if ( function_exists('fn_nam') )des appels.

La raison en est de permettre l’ écrasement des fonctions dans les plugins, les thèmes ou les thèmes enfants.

Donc, si vous voulez laisser les gens modifier des choses, alors vous voudrez les conclure, afin qu’ils ne soient pas utilisés lorsqu’il y a déjà une fonction (thème enfant) qui la remplace.

Lire également:  Page de connexion WordPress vide

Résumé

Ne le faites pas pour les fonctions principales. Les fonctions de base (ou certains de leurs arguments) ont l’appel à…

  1. _deprecated_argument($function, $version)
  2. _deprecated_file($file, $version)
  3. _deprecated_function($function, $version)

…pour une raison : gagner du temps d’exécution, fournir des commentaires aux développeurs et un système de fonctionnement fluide pour les utilisateurs car ceux-ci ne seront pas générés si WP_DEBUGn’est pas défini sur TRUE.

Donc : ne faites cela que pour les fonctions que vous voulez que les gens puissent remplacer.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *