我具有此功能,可以在WordPress管理员用户个人资料页面中添加新的用户字段。
function modify_user_contact_methods( $user_contact ) {
// Add user contact methods
$user_contact['skype'] = __( 'Skype Username' );
$user_contact['phone'] = __( 'Phone' );
return $user_contact;
}
add_filter( 'user_contactmethods', 'modify_user_contact_methods' );
使用上面的代码,仅显示该字段,我想在其后添加说明,如下所示。
<input type="text" name="phone" id="phone" value="" class="regular-text">
<p class="description">Your phone number.</p>
如何添加上述简短说明?
答案 0 :(得分:1)
如果要查找说明,则不能使用上述挂钩。但是,您可以使用以下方法。
用于输出字段的代码
add_action( 'show_user_profile', 'extra_user_profile_fields' );
add_action( 'edit_user_profile', 'extra_user_profile_fields' );
function extra_user_profile_fields( $user ) { ?>
<h2><?php _e("Extra Contact Info", "textdomain"); ?></h2>
<table class="form-table">
<tr>
<th><label for="skype"><?php _e("Skype Username"); ?></label></th>
<td>
<input type="text" name="skype" id="skype" value="<?php echo esc_attr( get_the_author_meta( 'skype', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e("Please enter your skype."); ?></span>
</td>
</tr>
<tr>
<th><label for="phone"><?php _e("Phone"); ?></label></th>
<td>
<input type="text" name="phone" id="phone" value="<?php echo esc_attr( get_the_author_meta( 'phone', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e("Please enter your phone."); ?></span>
</td>
</tr>
</table>
<?php }
保存字段的代码
add_action( 'personal_options_update', 'save_extra_user_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_user_profile_fields' );
function save_extra_user_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) ) {
return false;
}
update_user_meta( $user_id, 'skype', $_POST['skype'] );
update_user_meta( $user_id, 'phone', $_POST['phone'] );
}