将另一个字段添加到用户表

时间:2016-02-20 作者:pico

我想为用户添加另一个字段,如地址、电话号码。在中添加了相关字段wp_users 并添加一些来更新wp_update_user 但它不起作用。我可以添加wp_usermeta 具有update_user_meta. 有没有办法加入up_users.

1 个回复
SO网友:dingo_d

这很简单。只需将功能和选项添加到show_user_profileedit_user_profile 挂钩,并将其保存在personal_options_updateedit_user_profile_update.

例如,像这样(您可以添加自己的字段(文本、数字等))

/********* Additional User Content ***********/
add_action( \'show_user_profile\', \'mytheme_extra_profile_fields\' );
add_action( \'edit_user_profile\', \'mytheme_extra_profile_fields\' );

function mytheme_extra_profile_fields( $user ) { ?>
    <?php $customData = get_user_meta( $user->ID, \'custom_user_fields\', true ); ?>

    <h3><?php esc_html_e(\'Custom option\', \'mytheme\'); ?></h3>

    <table class="form-table">

        <tr>
            <th><?php esc_html_e(\'Custom option\', \'mytheme\'); ?></th>

            <td>
                <input type="checkbox" name="custom_user_fields_option" id="option" value="1" <?php if(isset($customData[\'checkbox\'])){ checked($customData[\'checkbox\'], 1); } ?>/>
                <span class="description"><?php esc_html_e(\'Check for an option.\', \'mytheme\'); ?></span>
            </td>
        </tr>

    </table>
<?php }


add_action( \'personal_options_update\', \'mytheme_save_extra_profile_fields\' );
add_action( \'edit_user_profile_update\', \'mytheme_save_extra_profile_fields\' );

function mytheme_save_extra_profile_fields( $user_id ) {

    $userData = array();

    if ( !current_user_can( \'edit_user\', $user_id ) )
        return false;

    if(!empty( $_POST[\'custom_user_fields_option\'] )) {
        $userData[\'checkbox\'] = intval( $_POST[\'custom_user_fields_option\'] );
    }

    if(!empty($userData)) {
        update_user_meta( $user_id, \'custom_user_fields\', $userData);
    }
}
这会给你

enter image description here

在单用户页面中(profile.php).

相关推荐

如何从USERS-edit.php中删除颜色选择器代码

我知道我不应该改变Wordpress的核心。但如果我想在“用户编辑”中使用仪表板用户配置文件页面。php和删除大块代码(如颜色选择器)的方法。从第259行到第336行-我想全部删除。<?php if ( ! ( IS_PROFILE_PAGE && ! $user_can_edit ) ) : ?> <tr class="user-rich-editing-wrap"> <th scope="