如何定位用户元数据字段

时间:2020-02-05 作者:user10980228

我想在用户配置文件页面上显示另外一个字段(主要是管理员用户将使用此字段)

我已经做了,但它显示在页面的最底部,我希望它位于名字、姓氏和昵称所在的区域。

我尝试了不同的操作,如personal\\u options\\u update,因为我认为应该以不同的方式定位框,但随后字段就消失了。

add_action(\'show_user_profile\', \'custom_user_profile_fields\');

add_action(\'edit_user_profile\', \'custom_user_profile_fields\');

function custom_user_profile_fields( $user ) {
?>
    <table class="form-table">
        <tr>
            <th>
                <label for="my_field"><?php _e( \'My field\' ); ?></label>
            </th>
            <td>
                <input type="text" name="my_field" id="my_field" value="<?php echo esc_attr( get_the_author_meta( \'my_field\', $user->ID ) ); ?>" class="regular-text" />
            </td>
        </tr>
    </table>
<?php
}


add_action( \'personal_options_update\', \'update_extra_profile_fields\' );

add_action( \'edit_user_profile_update\', \'update_extra_profile_fields\' );

function update_extra_profile_fields( $user_id ) {
    if ( current_user_can( \'edit_user\', $user_id ) )
        update_user_meta( $user_id, \'my_field\', $_POST[\'my_field\'] );
}

1 个回复
最合适的回答,由SO网友:Vitauts Stočka 整理而成

WordPress不支持在用户配置文件中放置此类字段。如果您绝对需要在昵称后添加元字段,可以使用javascript将表单字段从一个地方移动到另一个地方。看看this example, 但将其更改为移动整个<tr>.