在我的 Wordpress 网站中创建新用户时,我经常需要“做事”。我知道我可以依靠的唯一动作钩子是user_register
.
问题是我觉得是在创建用户的过程中比较早触发的,所以在我的函数被调用后经常会出现用户信息不可用或者其他插件修改的情况。
我已经研究过但没有运气,哪些资源可以解释 WordPress 创建用户的方式以及哪些钩子何时触发?
在我的 Wordpress 网站中创建新用户时,我经常需要“做事”。我知道我可以依靠的唯一动作钩子是user_register
.
问题是我觉得是在创建用户的过程中比较早触发的,所以在我的函数被调用后经常会出现用户信息不可用或者其他插件修改的情况。
我已经研究过但没有运气,哪些资源可以解释 WordPress 创建用户的方式以及哪些钩子何时触发?
在这种情况下,最好的文档是代码本身。
钩子user_register
被触发,/wp-includes/user.php#L1418
那里似乎没有其他有用的操作可用。
我们user_profile_update_errors
进去了/wp-admin/includes/user.php
,但不确定它在这里的可用性。
上一个文件中调用的函数wp_new_user_notification()
是可插入的,这意味着您可以覆盖它并在那里做自己的事情。也许这是一个不错的选择。
该user_register
操作实际上是最后触发的与注册相关的钩子之一。此操作在记录保存到数据库后触发。在注册过程中会触发许多不同的操作和过滤器,其中大部分是在之前调用的user_register
。
user_register
wp_insert_user()
任何时候通过该函数创建用户时都会触发。这包括默认的 WordPress 用户注册表单、管理仪表板中的“添加新用户”页面,甚至是使用此功能的自定义注册表单。如果您只需要针对通过 WordPress 注册表单创建的新用户,您也可以使用该register_new_user
操作。同样,如果您只想通过管理仪表板(添加新用户页面)定位用户创建,您可以使用该edit_user_created_user
操作。
您还可以使用其他钩子来实现自定义验证规则,例如registration_errors
过滤器。所有这一切都在WordPress 用户注册钩子的视觉指南文章中进行了详细解释,该文章介绍了所有主要的注册钩子,包括一些可视化它们被触发的顺序的图形。