用户个人资料页面具有以下字段:

用户名
名字
姓氏
昵称
显示名
联系方式
电子邮件
网站
AIM
Yahoo IM
Jabber / Google Talk

如何在此部分中添加更多字段。电话号码,地址或其他任何字段。

#1 楼

您需要使用'show_user_profile''edit_user_profile''personal_options_update''edit_user_profile_update'挂钩。

以下是添加电话号码的代码:

add_action( 'show_user_profile', 'yoursite_extra_user_profile_fields' );
add_action( 'edit_user_profile', 'yoursite_extra_user_profile_fields' );
function yoursite_extra_user_profile_fields( $user ) {
?>
  <h3><?php _e("Extra profile information", "blank"); ?></h3>
  <table class="form-table">
    <tr>
      <th><label for="phone"><?php _e("Phone"); ?></label></th>
      <td>
        <input type="text" name="phone" id="phone" class="regular-text" 
            value="<?php echo esc_attr( get_the_author_meta( 'phone', $user->ID ) ); ?>" /><br />
        <span class="description"><?php _e("Please enter your phone."); ?></span>
    </td>
    </tr>
  </table>
<?php
}

add_action( 'personal_options_update', 'yoursite_save_extra_user_profile_fields' );
add_action( 'edit_user_profile_update', 'yoursite_save_extra_user_profile_fields' );
function yoursite_save_extra_user_profile_fields( $user_id ) {
  $saved = false;
  if ( current_user_can( 'edit_user', $user_id ) ) {
    update_user_meta( $user_id, 'phone', $_POST['phone'] );
    $saved = true;
  }
  return true;
}


该代码将向用户屏幕添加一个类似于以下内容的字段:



关于该主题的博客文章也可能会有帮助:


添加和使用自定义用户配置文件字段
向WordPress用户配置文件中添加其他字段

或者,如果您不想自己动手,则有一些插件可以添加上述功能(尽管我敢肯定,其他):


Cimy User Extra字段


评论


迈克,我遇到了很多麻烦,要保存我的修改。当我完成一个完整的“查找并替换”时,我终于确定了它。供我将来参考,是否要求“名称”和“标题”字段完全匹配?

–乔纳森·沃尔德
2011-3-28在16:43

@Jonathan Wold-“是否需要精确匹配“名称”和“标题”字段?”您没有给我足够的背景信息让我知道如何算术。您可能想创建一个全新的问题。

– MikeSchinkel
2011年3月29日在7:26

@MikeSchinkel Cimy User Extra Fields是imo不好的推荐。确实没有支持,并且代码是... hm。

– kaiser
11年8月25日在22:07

#2 楼

// remove aim, jabber, yim 
function hide_profile_fields( $contactmethods ) {
    unset($contactmethods['aim']);
    unset($contactmethods['jabber']);
    unset($contactmethods['yim']);
    return $contactmethods;
}

// add anything else
function my_new_contactmethods( $contactmethods ) {
    //add Birthday
    $contactmethods['birthday'] = 'Birthday';
    //add Address
    $contactmethods['address'] = 'Address';
    //add City
    $contactmethods['city'] = 'City';
    //add State
    $contactmethods['state'] = 'State';
    //add Postcode
    $contactmethods['postcode'] = 'Postcode';
    //add Phone
    $contactmethods['phone'] = 'Phone';
    //add Mobilphone
    $contactmethods['mphone'] = 'Mobilphone';

    return $contactmethods;
}
add_filter('user_contactmethods','my_new_contactmethods',10,1);
add_filter('user_contactmethods','hide_profile_fields',10,1);


希望对您有所帮助。

来源:WPBeginner