注册时保存自定义用户元

时间:2017-05-15 作者:Cafourek

我正在尝试创建自己的注册表,并在必填字段中添加电话号码,我希望将该电话号码保存为自定义用户元。

在验证和santizing输入后,ets。我的代码如下所示:

// this returns the correct value etc. - string(9) "126777889"
var_dump($metas[\'user_phone\'])

$user_id = wp_insert_user($fields);
add_user_meta( $user_id, \'user_phone\', $metas[\'user_phone\'] );
用户创建正确,但电话元字段有问题-在后端,它如下所示:enter image description here

我还尝试了这种方法来测试meta是否存在:

if(get_user_meta($user_id,\'user_phone\')) {
    update_user_meta($user_id,\'user_phone\');
} else {
    add_user_meta($user_id,\'user_phone\');    
}
还尝试使用“user\\u register”操作添加meta,如下所示:

function addMyCustomMeta($user_id,$meta) {
    update_user_meta($user_id,$meta);
}
add_action(\'user_register\',\'addMyCustomMeta\',10,2,);
然后像这样使用:

$user_id = wp_insert_user($fields);
do_action(\'addMyCustomMeta\',$user_id,$metas[\'user_phone\']);
在所有情况下,我最终都会遇到上图中描述的情况。没有元标题,值保存为多个“数组”

在数据库中,它看起来很好:

enter image description here

你知道我做错了什么吗?

非常感谢。

1 个回复
SO网友:Aishan

您必须触发以下挂钩:

  • user_register
  • personal_options_update
  • edit_user_profile_update

    add_action(\'user_register\', \'addMyCustomMeta\');    
    add_action(\'personal_options_update\', \'addMyCustomMeta\' );    
    add_action(\'edit_user_profile_update\',\'addMyCustomMeta\' );    
    function addMyCustomMeta( $user_id ) {    
               update_user_meta( $user_id, \'user_phone\', $_POST[\'user_phone\'] ); 
    }
    
    希望这能有所帮助!!

结束

相关推荐