WordPress:用户注册时获取所有元数据



我在前端(在用户管理部分)有一个用户注册表,其中有三个额外的字段(除了默认字段):生日、国家/地区、语言。它们的值存储在usermeta表中。

我有这个操作挂钩,为注册用户退役所有元数据:

add_action('user_register', 'new_user_func');
// user registration callback function
function new_user_func($userID) {
    $newUser = get_user_meta( $userID );
    $userMeta = array();
    foreach ($newUser as $key => $value) {
        $userMeta[$key] = $value[0];
    }
    //do something with $userMeta...
}

提交后的var_dump($userMeta)没有给我额外的字段值。。仅默认值(名字、姓氏等)

有人知道可能是什么情况吗?

您是否尝试使用获取值

$meta = get_the_author_meta($meta_key, $user_id);

也许get_user_meta()不支持您自己添加的元值。

如果这也不起作用,也许你需要看看你是如何创建新的元字段的。这里有一个关于如何做到这一点的相当不错的教程:http://justintadlock.com/archives/2009/09/10/adding-and-using-custom-user-profile-fields

为user_register操作读取编码解码器条目,它说:触发此操作时,并非所有用户元数据都已存储在数据库中。

最新更新