如何为用户添加属性?

时间:2015-04-09 作者:blueseal

我一直在寻找答案,但还没有找到一个明确而相关的答案。

我想给用户添加更多属性,不显示,而只存储有关他们的信息。这些信息将用于后台功能。我知道usermeta用于添加更多属性,我知道如何访问现有信息,但我不知道如何添加/创建新属性。

默认情况下,对于每个用户,此信息可以是空字符串,如果用户输入信息,则会对其进行修改。

我是Wordpress的新手,非常感谢您的帮助。谢谢

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

最简单的技巧是使用user_contactmethods - 字段实际上不必是联系人,但WordPress将为您完成所有的腿部工作(显示字段并保存数据):

function wpse_183763_user_contactmethods( $methods, $user ) {
    $methods[\'my_field_1\'] = \'My Label For Field 1\';
    $methods[\'my_field_2\'] = \'My Label For Field 2\';

    return $methods;
}

add_filter( \'user_contactmethods\', \'wpse_183763_user_contactmethods\', 10, 2 );
如果将此代码添加到插件或functions.php, 编辑个人资料时,您将看到新字段。要获取这些值,只需使用元API:

// With a user ID
echo get_user_meta( $user_id, \'my_field_1\', true );

// Or with a WP_User object
echo $user->my_field_1;

结束

相关推荐

修改具有多个分类的users.php查询

我已经使用此代码的registered\\u taxonomy和update\\u count函数成功创建了3个附加到user对象的分类法-https://gist.github.com/portfola/10750784#file-user-taxonomies-php (其余的我不需要,因为它们只与显示管理UI或分类归档的分类相关,而我不需要)。这些分类法存储每个用户分配给哪个公司、办公室和团队。我知道自定义分类法正在存储数据,因为我通过wp_get_object_terms($user->ID