将用户的注册日期存储为元数据

时间:2013-11-30 作者:Dr.Hariri

我试图修改以下代码,将其注册为用户配置文件中的元字段,以便registration date as a meta field. 这将允许我轻松获取信息,并与其他可以获取用户元字段的插件集成。

这种情况的一个重要用途是,您可以将用户信息的元字段传递给外部服务或电子营销系统。

这是我正在尝试修改的原始代码。以下代码用于将上次登录存储为元字段:

        add_action(\'wp_login\', \'set_user_last_login\');

        //function for setting the last login

        function set_user_last_login($login) {
           $user = get_userdatabylogin($login);

           //add or update the last login value for logged in user
           update_usermeta( $user->ID, \'last_login\', current_time(\'mysql\') );
        }
我尝试使用此功能将注册日期存储在元字段中,但似乎不起作用:

//Updating User Meta with registration date
add_action( \'user_register\', \'set_user_registration_date\' );             
//function for setting the registration date
$users = get_users();
$udata = get_userdata( $user->ID );
$registered = $udata->user_registered;

function set_user_registration_date($registered) {
$user = get_user_by($registered);

//add or update the last login value for logged in user
update_usermeta( $registered->ID, \'registration_date\', $registered->user_registered );
}
我不是PHP程序员。我试着找到自己的路,但我似乎无法找到。

如果有人能提供帮助或有更好的方法来实现这一点,我将不胜感激?

谢谢

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

在你的情况下$registered 用户id不是用户对象,因此它不起作用。请使用下面给出的代码。

add_action( \'user_register\', \'set_user_registration_date\', 10, 1 );

function set_user_registration_date( $user_id ) {
    $user = get_userdata ( $user_id );

    // Update the registration meta data
    update_user_meta ( $user_id, \'registration_date\', $user->user_registered );
}

结束

相关推荐