用户个人资料页面原本是有“个人说明”的输入框。但是可用性不足。如果我们需要添加复杂的图文内容,那就有必要添加自定义的文本框了。效果如下,添加一个“个人总结”的文本框。

代码如下:

function user_summary($user){
?>
<h3>个人信息</h3>
<table class="form-table">
    <tr>
        <th>
            <label for="personal_summary">个人总结</label>
        </th>
        <td>
            <?php
            $content = get_user_meta($user->ID, 'personal_summary', true);
            $editor_id = 'personal_summary';
            $settings = array('textarea_name' => 'personal_summary',);
            wp_editor($content, $editor_id, $settings);
            ?>
        </td>
    </tr>
</table>
<?php
}

function user_summary_update($user_id)
{
    if (!current_user_can('edit_user', $user_id)) {
        return false;
    }
    return update_user_meta(
        $user_id,
        'personal_summary',
        $_POST['personal_summary']
    );
}

add_action('show_user_profile', 'user_summary');
add_action('edit_user_profile', 'user_summary');
add_action('personal_options_update', 'user_summary_update');
add_action('edit_user_profile_update', 'user_summary_update');