我试图修改以下代码,将其注册为用户配置文件中的元字段,以便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程序员。我试着找到自己的路,但我似乎无法找到。
如果有人能提供帮助或有更好的方法来实现这一点,我将不胜感激?
谢谢
最合适的回答,由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 );
}