我一直都是这样做的。所有这些代码都包含在函数中。php。当然,这会在用户配置文件中添加一个全新的部分。
add_action( \'show_user_profile\', \'be_show_extra_profile_fields\' );
add_action( \'edit_user_profile\', \'be_show_extra_profile_fields\' );
function be_show_extra_profile_fields( $user ) { ?>
<h3>Extra Contact Information</h3>
<table class="form-table">
<tr>
<th><label for="contact">Contact Number</label></th>
<td>
<input type="text" name="contact" id="contact" value="<?php echo esc_attr( get_the_author_meta( \'contact\', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description">Please enter your phone number.</span>
</td>
</tr>
</table>
<?php }
add_action( \'personal_options_update\', \'be_save_extra_profile_fields\' );
add_action( \'edit_user_profile_update\', \'be_save_extra_profile_fields\' );
function be_save_extra_profile_fields( $user_id ) {
if ( ! current_user_can( \'edit_user\', $user_id ) ) {
return false;
}
update_usermeta( $user_id, \'contact\', esc_attr( $_POST[\'contact\'] ) );
}
或者,如果您想向用户配置文件中已经存在的部分添加一些联系方式,您可以使用下面的方法,这样会更简洁一些。下面是我通常用来摆脱过时的社交平台并为用户添加一些新平台的功能。
add_filter( \'user_contactmethods\', \'be_hide_profile_fields\', 10, 1 );
function be_hide_profile_fields( $contactmethods ) {
unset($contactmethods[\'aim\']);
unset($contactmethods[\'jabber\']);
unset($contactmethods[\'yim\']);
$contactmethods[\'twitter\'] = \'Twitter\';
$contactmethods[\'facebook\'] = \'Facebook\';
$contactmethods[\'linkedin\'] = \'LinkedIn\';
return $contactmethods;
}
如果你想添加一个电话号码,你可以添加如下内容
$contactmethods[\'phonenumber\'] = \'Phone Number;
,它将为您创建字段。