Je ne vois pas les grands avantages de cette pratique, pour ces raisons:
Vos fonctions de rappel ne sont pas appelées lors de l'enregistrement
Les fonctions add_action
et add_filter
ajoutent uniquement une entrée à la variable globale $wp_filter
qui contient tous les filtres et actions. Voir source . Il n'appelle pas votre fonction. Votre code ne s'exécutera que lorsque les do_action
et apply_filters
seront appelés (avec le nom de hook approprié), ce qui se produit très tard à l'endroit où ces hooks devraient être.
Vous pourriez dire que cela rendra la variable globale $wp_filter
plus grande => plus de mémoire requise. Mais je pense que la création d'une nouvelle fonction a le même problème.
Code d'organisation
Tout mettre dans une seule fonction vous oblige à vous souvenir de tous les crochets dans tous les fichiers de votre thème / plugin. Vous ne feriez pas quelque chose comme ça:
- dans
header.php
: ajouter des crochets et des fonctions de rappel pour que les choses se passent dans l'en-tête (comme le menu, le script d'enregistrement)
- dans
content.php
: ajouter des hooks et des fonctions de rappel pour filtrer le contenu
admin-menu.php
: ajouter des hooks et des fonctions de rappel pour ajouter le menu admin
(supposez que ces fichiers sont placés dans votre thème / plugin)
Au lieu de cela, vous devez:
- mettre les fonctions que rappel dans
header.php
, content.php
,admin-menu.php
- et mettre tous les crochets dans une fonction séparée dans un autre fichier
=> Cela vous rendra difficile de savoir ce qui se passe lorsque vous regardez le contenu du header.php
fichier. Vous devez rechercher pour savoir quand ces rappels sont déclenchés.
Et pensez à la situation lorsque vous avez plusieurs classes dans votre thème / plugin. Mettez-vous tous les crochets de toutes les classes au même endroit? Ou chaque classe a-t-elle une fonction wrapper qui contient tous les crochets? C'est trop redondant!
Au-dessus de ces raisons, je pense que c'est un style personnel :). Je vois que certains frameworks comme Hybrid font ce que vous avez dit. Parfois, cela me rend difficile de creuser dans ces cadres!
wp_loaded
et MS info.