ユーザープロフィールの「あなたについて」に自由な項目を追加したい

>> ユーザーのプロフィールを入力し、表示する方法
こちらの記事で、プロフィールの入力方法、表示方法を紹介しましたが
デフォルトのままでは項目が少し寂しいです。
今回はプロフィールの「あなたについて」に新しく項目を追加する方法を紹介します。
テーマファイル内の functions.php を用意する
今使用しているテーマファイル内の functions.php を用意します。
無い場合は、新しく同名のファイルを作成します。
プロフィール「あなたについて」に項目を追加する
<?php
function add_user_data_form($bool)
{
global $profileuser;
if ( preg_match('/^(profile\.php|user-edit\.php)/', basename($_SERVER['REQUEST_URI'])) )
{ ?>
<tr>
<th scope="row">項目1</th>
<td>
<input type="text" name="user_data1" id="user_data1" value="<?php echo esc_html($profileuser->user_data1); ?>" />
</td>
</tr>
<?php }
return $bool;
}
add_action('show_password_fields', 'add_user_data_form');
function update_user_data($user_id, $old_user_data)
{
if ( isset($_POST['user_data1']) && $old_user_data->user_data1 != $_POST['user_data1'] )
{
$user_data1 = sanitize_text_field($_POST['user_data1']);
$user_data1 = wp_filter_kses($user_data1);
$user_data1 = _wp_specialchars($user_data1);
update_user_meta($user_id, 'user_data1', $user_data1);
}
}
add_action('profile_update', 'update_user_data', 10, 2);
?>
「項目1」というタイトルの項目を「user_data1」として登録しました。

増えました!
追加したプロフィールを表示する
この項目を表示するには、通常のプロフィール項目同様
<?php $userdata = get_userdata('ユーザーID'); ?>
<?php echo esc_html($userdata->user_data1); ?>
このようなソースで表示できます。
(・ω・テスト)
プロフィール「あなたについて」の項目追加は、
- 項目のフォームを出力するメソッド
- 追加した項目の更新処理をするメソッド
この2つをそれぞれ項目ごとに指定する必要があるので、
ソースコードが少し長くなってしまいます。
簡単にカスタマイズしたい方には「連絡先情報」に項目を追加する方法をおすすめします。
>> ユーザープロフィールの「連絡先情報」に自由な項目を追加したい
関連記事






