2013-01-18 1 views
1

Dites, vous vouliez effectuer une action lorsque vous cliquez sur le bouton Publier une publication lors de la création d'un nouveau message. À titre d'exemple, disons que vous vouliez qu'un courriel soit automatiquement envoyé à quelqu'un chaque fois que vous créez un message.Quelle est la meilleure façon de savoir dans quel événement wordpress se connecter?

La question est de savoir quelle est la meilleure façon de savoir quelles fonctions de base sont disponibles pour se connecter - pour effectuer l'emailing.

Ou est-ce que, vous sortez le deviner - en s'appuyant strictement sur votre mémoire API WordPress? Par exemple, vous pourriez penser que puisque cette action a à voir avec la création d'un post, vous devez rechercher les noms de fonctions dans la page codex plugin/actions contenant le mot post et ensuite les scanner pour éventuellement récupérer des éléments tels que wp_insert_post , wp_update_post, save_post, post_X, X_post etc etc? Est-ce la norme?

Dans ce cas particulier, vous finirez probablement avec wp_insert_post ou save_post. Mais ma question est générale. Est-ce la bonne façon d'aborder le problème?

Ou ... existe-t-il un autre moyen plus efficace (peut-être un branchement) de me dire quelles fonctions centrales (hookables) ont fonctionné dans la requête actuelle ou dans la précédente? De cette façon, je pourrais obtenir une liste définitive de toutes les fonctions connexes pour moi de choisir ou de lire à propos de qui traitent directement avec la demande actuelle qui m'intéresse. Plus de deviner le travail ...

notez qu'en raison des redirections d'en-tête, la demande actuelle ne peut pas le couper, vous devriez être en mesure d'obtenir une liste de toutes les fonctions hookables dans la demande précédente. (celui qui a juste couru avant que le code de redirection ait été rencontré).

+1

Le réseau Stack Exchange a [un site entier dédié à WordPress] (http://wordpress.stackexchange.com/), donc cette question serait un bien meilleur ajustement là-bas, plutôt que Stack Overflow. –

Répondre

2

La façon dont je vois quels crochets sont disponibles est simple; J'installe une copie de WordPress en utilisant un Apache/MySQL local puis j'utilise le PhpStorm + Zend Debugger et trace à travers le code et vois ce que les hooks tirent. De là, je décide juste quel hook est le mieux basé sur le contexte de mes besoins, habituellement s'il y a plusieurs hooks qui sont potentiels, c'est assez évident lequel utiliser. Il existe d'autres approches telles que instrumenting the list of hooks et il existe probablement des moyens d'obtenir cette information en utilisant (add-ons) la barre de débogage, mais dans mon expérience, toutes ces approches sont comme tâtonner dans l'obscurité à la recherche d'une lumière commutateur. Et si vous utilisez un débogueur, c'est comme allumer l'interrupteur d'éclairage, où vous pouvez voir exactement où se trouve l'interrupteur sans gaspillage d'énergie.

Questions connexes