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

时间:2012-08-03 10:07:49

标签: wordpress metadata user-registration

我在前端有一个用户注册表单(在用户管理部分中),还有三个额外的字段(除了默认字段):生日,国家,语言。它们的值存储在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)虽然没有给我额外的字段值,但只有默认值(名字,姓氏等)

任何人都知道可能是什么情况?

2 个答案:

答案 0 :(得分:0)

您是否尝试使用以下值获取值:

$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

答案 1 :(得分:0)

读取user_register action的de Codex条目,内容为: 触发此操作时,并非所有用户元数据都已存储在数据库中。