當(dāng)前位置:首頁>WordPress建站>后臺定制>WordPress 注冊表單添加額外的字段

WordPress 注冊表單添加額外的字段

WordPress 默認(rèn)的注冊表單只有“用戶名”和“電子郵件”這兩個(gè)字段,不少朋友希望注冊的時(shí)候,添加額外的字段,比如“名字”和“姓氏”等:

require-additional-profile-fields-wpdaxue_com

下面,倡萌就講解一下添加“名字”和“姓氏”這兩個(gè)字段的方法,將下面的代碼添加到主題的 functions.php 即可:

/**
 * WordPress 注冊表單添加額外的字段
 * http://www.ydqwiac.cn/require-additional-profile-fields-at-registration.html
 */
// 在注冊界面添加額外的表單
add_action( 'register_form', 'additional_profile_fields' );
function additional_profile_fields() { ?>
    <p>
        <label><?php _e('名字') ?><br />
        <input type="text" name="first_name" id="first_name" class="input" size="25" tabindex="20" /></label>
    </p>
    <p>
        <label><?php _e('姓氏') ?><br />
        <input type="text" name="last_name" id="last_name" class="input" size="25" tabindex="20" /></label>
    </p>
<?php }
// 檢測表單字段是否為空,如果為空顯示提示信息
add_action( 'register_post', 'add_register_field_validate_first_name', 10, 3 );
function add_register_field_validate_first_name( $sanitized_user_login, $user_email, $errors) {
    if (!isset($_POST[ 'first_name' ]) || empty($_POST[ 'first_name' ])) {
        return $errors->add( 'firstnameempty', '<strong>ERROR</strong>: 請輸入您的名字.' );
    }
}
add_action( 'register_post', 'add_register_field_validate_last_name', 10, 3 );
function add_register_field_validate_last_name( $sanitized_user_login, $user_email, $errors) {
    if (!isset($_POST[ 'last_name' ]) || empty($_POST[ 'last_name' ])) {
        return $errors->add( 'lastnameempty', '<strong>ERROR</strong>: 請輸入您的姓氏.' );
    }
}
// 將用戶填寫的字段內(nèi)容保存到數(shù)據(jù)庫中
add_action( 'user_register', 'insert_register_fields' );
function insert_register_fields( $user_id ) {

    $first_name = apply_filters('pre_user_first_name', $_POST['first_name']);
    $last_name = apply_filters('pre_user_last_name', $_POST['last_name']);
    
    // 以下的 'first_name' 和 'last_name' 是“我的個(gè)人資料”中已有的字段
    update_user_meta( $user_id, 'first_name', $first_name );
    update_user_meta( $user_id, 'last_name', $last_name );
}

代碼分 3 部分組成:

1.在注冊界面添加額外的表單

2.檢測表單字段是否為空,如果為空顯示提示信息

3.將用戶填寫的字段內(nèi)容保存到數(shù)據(jù)庫中

需要注意的是,表單使用的是 update_user_meta() 函數(shù)來保存數(shù)據(jù),請確保第 2 個(gè)參數(shù)是已經(jīng)存在的。比如下面的 ‘first_name’ 和 ‘last_name’ 是已經(jīng)存在數(shù)據(jù)庫中的。

    update_user_meta( $user_id, 'first_name', $first_name );
    update_user_meta( $user_id, 'last_name', $last_name );

默認(rèn)情況下,WordPress個(gè)人資料的可用字段如下:

  • user_login
  • user_pass
  • user_nicename
  • user_email
  • user_url
  • user_registered
  • user_activation_key
  • user_status
  • display_name
  • nickname
  • first_name
  • last_name
  • description
  • jabber
  • aim
  • yim
  • user_level
  • user_firstname
  • user_lastname
  • user_description
  • rich_editing
  • comment_shortcuts
  • admin_color
  • plugins_per_page
  • plugins_last_view
  • ID

如果你想添加額外的字段到個(gè)人資料中,請參考:

刪除/添加/調(diào)用WordPress用戶個(gè)人資料的聯(lián)系信息

WordPress 個(gè)人資料添加額外的字段

然后就可以根據(jù)上文的代碼示例添加字段到注冊表單。

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號 WPDAXUE
后臺定制

WordPress 禁用自定義文章類型的可視化編輯器

2013-9-29 11:11:39

后臺定制

WordPress 主題和插件編輯器添加版本比較和回滾功能

2013-10-1 9:31:47

12 條回復(fù) A文章作者 M管理員
  1. 1992

    請問,為什么添加的字段注冊表單提交后,不能保存到數(shù)據(jù)庫中,到后臺填寫更新資料才能保存

    • 網(wǎng)站編輯

      請注意檢查下字段的名稱是否一一對應(yīng)

  2. 時(shí)代

    這樣是保存到usermeta表里的,有沒有辦法保存到users表里?
    比如注冊表單添加一個(gè)字段user_url,需要保存到users而不是usermeta

    • 網(wǎng)站編輯

      用戶的相關(guān)信息一般都是添加到usermeta,只有少數(shù)幾個(gè)字段才會添加到 users

  3. 527912687

    前端用戶中心不是用了? ?

  4. 請問啊 這些字段怎么設(shè)置為非必填選項(xiàng)?因?yàn)槲以O(shè)置的有些字段不是必須要填的..但是現(xiàn)在情況是不填的話就通過不了貌似..

  5. 斌果

    大學(xué)快一周年了吧

  6. 呵呵 這個(gè)可以有~

  7. 需要注意的是,表單使用的是 update_user_meta() 函數(shù)來保存數(shù)據(jù),請確保第 2 個(gè)參數(shù)是已經(jīng)存在的。比如下面的 ‘first_name’ 和 ‘last_name’ 是已經(jīng)存在數(shù)據(jù)庫中的。 這里的意思是 第二個(gè)參數(shù)要實(shí)現(xiàn)添加到數(shù)據(jù)庫中?那如何添加呢?

    • ‘first_name’ 和 ‘last_name’ 是WP默認(rèn)就存在的個(gè)人資料字段,你可以在后臺“我的個(gè)人資料”中看到,所以才可以直接在注冊表單中使用它來保存用戶提交的信息。如果你要添加默認(rèn)沒有的其他字段,文章末尾已經(jīng)有參考文章了,自己看。

    • 網(wǎng)站編輯

      ok thx

  8. expulajed

?
個(gè)人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

洪泽县| 剑川县| 新邵县| 景东| 内江市| 自治县| 兴化市| 军事| 平定县| 常德市| 绥滨县| 富平县| 海晏县| 洛隆县| 右玉县| 兰坪| 平利县| 佛坪县| 岳池县| 邵东县| 垦利县| 通化县| 靖安县| 本溪市| 和静县| 巫溪县| 鄱阳县| 右玉县| 中方县| 闵行区| 焉耆| 如皋市| 惠来县| 东台市| 苏州市| 扶风县| 奎屯市| 乌鲁木齐县| 门头沟区| 突泉县| 宜春市|