1

比如说,您想在创建新帖子时单击发布帖子按钮时执行一些操作。举个例子,假设您希望在每次创建帖子时自动向某人发送一封电子邮件。

问题是什么是了解哪些核心功能可以挂钩的最佳方式 - 执行电子邮件。

还是您猜到了——严格依赖于您的 WordPress API 内存?例如,您可能会认为,由于此操作与创建帖子有关,您应该在包含单词的插件/操作 codex 页面中搜索函数名称,post然后通过扫描它们可能会找到诸如 wp_insert_post 之类的项目, wp_update_post、save_post、post_X、X_post 等?这是常态吗?

对于这种特殊情况,您可能会以 wp_insert_post 或 save_post 结束。但我的问题很笼统。这是解决问题的正确方法吗?

或者..是否有另一种或更有效的方式(可能是插件)让我知道哪些(可挂钩)核心功能在当前或上一个请求中运行?这样,我可以获得所有相关函数的明确列表,供我选择或阅读哪些直接处理我感兴趣的当前请求。没有更多的猜测工作......

请注意,由于标头重定向,当前请求可能无法切断它,您需要能够获取上一个请求中所有可挂钩函数的列表。(在遇到重定向代码之前刚刚运行的那个)。

4

1 回答 1

2

我找出可用钩子的方法很简单;我使用本地 Apache/MySQL 安装 WordPress 的副本,然后使用PhpStorm + Zend 调试器并跟踪代码并查看触发的钩子。从那里我只是根据我的需要的上下文决定哪个钩子最好,通常如果有几个潜在的钩子,那么使用哪个是很明显的。

还有其他方法,例如检测钩子列表,并且可能有一些方法可以使用调试栏(附加组件)来获取该信息,但根据我的经验,所有这些方法都像是在黑暗中摸索着寻找光明转变。如果您使用调试器,就像打开电灯开关一样,您可以毫不费力地看到电灯开关的确切位置。

于 2013-01-18T20:49:49.927 回答