WordPress点击更新用户时触发自定义函数失败问题排查
问题原因及解决方法
你的代码核心问题是把动作钩子的注册代码放在了函数内部——WordPress还没机会触发这个函数时,add_action根本没执行,自然无法完成钩子与函数的绑定,导致点击更新时函数毫无反应。
正确写法
把add_action移到函数外部,同时建议给函数起个和钩子名不同的名字,避免逻辑混淆:
function my_custom_profile_update() { echo "<h2>fired on profile update</h2>"; // 在这里编写你需要执行的业务逻辑 } // 注册钩子,将函数绑定到用户资料更新事件 add_action( 'edit_user_profile_update', 'my_custom_profile_update' );
补充说明
edit_user_profile_update仅在后台编辑用户资料页面点击更新时触发,如果需要覆盖所有用户资料更新场景(比如通过代码批量更新用户),可以额外绑定profile_update钩子:
add_action( 'profile_update', 'my_custom_profile_update' );
- 尽量避免用钩子名作为函数名,虽然语法上允许,但会增加后期维护的理解成本。
内容的提问来源于stack exchange,提问作者post poop zoomies
相关产品推荐
相关产品推荐

