Je vois beaucoup de plugins utilisant cette approche pour ajouter un nouveau hook, par exemple.
add_action('init', function() {
add_action('SOME_LATER_HOOK', xxx);
add_filter('SOME_LATER_FILTER', yyy);
});
Pourquoi ne pas simplement ajouter le crochet directement? Je vois qu'il n'y a aucun avantage de toute façon, par exemple performance
Pourquoi pas juste
add_action('SOME_LATER_HOOK', xxx);
Parfois, vous souhaitez exécuter du code avant de décider d'ajouter une action ou un filtre. Cela peut impliquer de vérifier les autorisations de l'utilisateur, de vérifier le type de demande de page, de vérifier si un autre plug-in est actif, etc.
Certaines de ces vérifications peuvent ne pas être possibles avant l'exécution de WordPress - il est donc assez courant de le faire avec un hook d'initialisation plutôt qu'avec l'inclusion d'un plugin.
Tout faire comme cela signifie que votre "initialisation" est au même endroit, même si certaines de vos actions ne l'exigent pas.
Si nécessaire, il est plus facile de supprimer une fonction de init
que deux (voire peut-être cinquante) de partout.
Il est généralement recommandé de ne rien exécuter avant le crochet init
en général, ce qui en fait un point de départ typique, même s'il n'est pas forcé par des implications techniques requises .
L'ajout de crochets sur les crochets me semble assez futile - un gaspillage de ressources. Si vous faites cela, vous avez deux appels ou plus à add_user_func_array()
, où vous n'auriez sinon qu'un seul et cela ne doit pas mentionner l'autre travail qui est traitement effectué avant ce point.
Les exceptions sont:
Il est également possible de "chaîner" des crochets pour fournir un peu de flexibilité à un code à usage spécifique .