如果更新了用户配置文件信息,则使用哪个挂钩?

时间:2014-06-05 作者:SPi

我正在寻找当用户信息更新时触发的钩子。具体来说,我想用自定义概要文件字段的值更新帖子(在我的示例中info) 每次更新用户的配置文件时。

我试过了profile_update 钩子,但它似乎没有开火:

add_action( \'profile_update\', \'add_info_to_post\' );
function add_info_to_post( $user_id ) {

        $info=get_user_meta($user_id,\'info\',true);

        //get all items of that user
        $args=array(
                \'author\' => $user_id,
                \'post_type\' => \'item\',
        );

        $items=get_posts($args);            
        foreach ($items as $item){
        update_post_meta($item->ID,\'user_info\',$info);
        }
}
如何做到这一点,有什么建议吗?

编辑:也许我应该提到,我通过后端访问用户的个人资料页面。。

1 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

从…起Codex: Plugin API - Action Reference - profile_update:

Note: 此挂钩不用于用户编辑/配置文件页面。要钩住管理员的用户编辑页面,请使用钩子edit_user_profile_update 位于/wp-includes/user-edit.php 相反

从…起Codex: Plugin API - Action Reference - edit_user_profile_update:

此挂钩仅在用户查看其他用户的配置文件页面(不是他们自己的)时触发。如果要将钩子应用于所有配置文件页面(包括当前用户),则还需要使用personal_options_update

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴