我是插件开发的新手。对于一个插件,我想添加自定义用户字段,并将它们添加到用户元数据库中,然后在前端使用这些字段。
但是我有点纠结于如何把它做好。有人能解释一下怎么做吗?
我试图用一个例子向您展示。假设我想为每个用户创建一个新的文件Facebook URL。下面是代码
/**
* Creating custom field for each user
*/
function prefix_add_area_field( $user ) {
?>
<h3>User Facebook URL</h3>
<table class="form-table">
<tr>
<th><label for="area_id">Facebook URL</label></th>
<td><input type="text" name="facebook_url" value="<?php echo esc_attr(get_user_meta( $user->ID, 'facebook_url', true )); ?>" class="regular-text" /></td>
</tr>
</table>
<?php
}
add_action( 'show_user_profile', 'prefix_add_area_field' );
add_action( 'edit_user_profile', 'prefix_add_area_field' );
/**
* Saving the user field from admin panel.
*/
function prefix_save_user_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) )
return false;
//save text field
update_usermeta( $user_id, 'facebook_url', $_POST['facebook_url'] );
}
add_action( 'personal_options_update', 'prefix_save_user_fields' );
add_action( 'edit_user_profile_update', 'prefix_save_user_fields' );
如果你想在前端显示自定义字段值即Facebook URL,那么你可以使用get_usermeta($user_id, 'facebook_url', true)在你的主题文件
谢谢