向‘Add User’管理页面添加字段

时间:2015-03-13 作者:Bird87 ZA

如何将输入字段添加到“管理”部分“用户->添加新内容”?

我想为电话号码添加一个字段,但不想用插件来实现。

3 个回复
最合适的回答,由SO网友:Bird87 ZA 整理而成

Okay通过查看代码找到了答案

可以通过执行以下操作添加字段:

add_action(\'user_new_form\',\'myplugin_add_field\');

function myplugin_add_field() {
    // code to add field
}

SO网友:Brad Elsmore

我一直都是这样做的。所有这些代码都包含在函数中。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;
,它将为您创建字段。

SO网友:seot

在里面http://plugins.svn.wordpress.org/hrm-work-tracking/trunk/hrm-users.php 我发现这样的事情

add_action( \'show_user_profile\', \'\' );
add_action( \'edit_user_profile\', \'\' );
add_action( \'personal_options_update\', \'\' );
add_action( \'edit_user_profile_update\', \'\' );
我不知道还有什么办法

结束