0%

WordPress 用户管理界面添加新自定义字段

在WordPress中添加自定义配置文件字段通过操作挂钩方法是很容易的。
网上有很多解决方案都能告诉你在“编辑用户”屏幕上添加自定义字段,
在本教程中,我将告诉您如何将自定义字段添加到添加新用户的页面上。

首先,我们创建一个自定义字段“国家”,并在添加/更新用户屏幕上显示它。
在模板的function.php中添加以下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function custom_user_profile_fields($user){
if(is_object($user))
$country = esc_attr( get_the_author_meta( 'country', $user->ID ) );
else
$country = null;
echo '
<h3>添加国家</h3>
<table class="form-table">
<tr>
<th><label for="country">国家</label></th>
<td>
<input type="text" class="regular-text" name="country" value="'. $country.'" id="country" /><br />
<span class="description">你在哪?</span>
</td>
</tr>
</table>
';
}
add_action( 'show_user_profile', 'custom_user_profile_fields' );
add_action( 'edit_user_profile', 'custom_user_profile_fields' );
add_action( "user_new_form", "custom_user_profile_fields" );

上述代码将添加一个标签为“国家”的新字段。
注意第三个钩子“user_new_form”,这个钩子将在添加新用户屏幕上显示字段。

最后,我们需要保存数据库中的自定义字段。

1
2
3
4
5
6
7
8
9
10
function save_custom_user_profile_fields($user_id){

if(!current_user_can('manage_options'))
return false;


update_user_meta($user_id, 'company', $_POST['country']);
}
add_action('user_register', 'save_custom_user_profile_fields');
add_action('profile_update', 'save_custom_user_profile_fields');