※通常の利用においては、出力を気にする必要はほぼありません。ユーザー一覧や特定の運営方法により、ユーザー情報をフロントエンドで表示する際には以下のような値の取得方法が必要になります。
基本の取得方法
your_field_keyをフィールド管理で設定した「名前」に置き換えます。ユーザーIDを省略せず渡すと、表示対象が明確になります。
専用ヘルパーを使う
<?php
$value = atshift_upf_get_user_field( 'your_field_key', $user_id );
echo esc_html( $value );
?>
直接取得する場合、独自フィールドは_atshift_upf_にフィールド名を続けたユーザーメタへ保存されています。
WordPress APIで直接取得
<?php
$value = get_user_meta( $user_id, '_atshift_upf_your_field_key', true );
echo esc_html( $value );
?>
フィールド種類別の出力
テキスト・選択肢
テキスト、メール、数値、セレクト、ラジオは文字列として取得します。通常の本文中ではesc_html()を使います。
テキストとして表示
<p><?php echo esc_html( atshift_upf_get_user_field( 'department', $user_id ) ); ?></p>
複数行テキスト
改行を残したい場合は、エスケープ後にnl2br()を適用します。
改行を保って表示
<p><?php echo nl2br( esc_html( atshift_upf_get_user_field( 'profile_note', $user_id ) ) ); ?></p>
画像
画像フィールドには画像URLが保存されます。URL属性へ入れるときはesc_url()を使います。
プロフィール画像
<?php $image_url = atshift_upf_get_user_field( 'profile_image', $user_id ); ?>
<?php if ( $image_url ) : ?>
<img src="<?php echo esc_url( $image_url ); ?>" alt="">
<?php endif; ?>
チェックボックス
チェック済みは1、未チェックは0として扱えます。
チェック状態で分岐
<?php if ( '1' === (string) atshift_upf_get_user_field( 'show_profile', $user_id ) ) : ?>
<p>プロフィールを公開しています。</p>
<?php endif; ?>
WordPress標準項目
ユーザー名、表示名、メール、氏名などの標準項目は、WordPressのユーザーAPIから取得します。
表示名とメール
<?php
$user = get_userdata( $user_id );
if ( $user ) {
echo esc_html( $user->display_name );
echo esc_html( $user->user_email );
}
?>
出力先に合わせて安全に表示
- 通常の文字列はesc_html()
- URLはesc_url()
- HTML属性はesc_attr()
- 許可したHTMLだけを残す場合はwp_kses_post()
プロフィール値には個人情報が含まれる場合があります。公開ページへ出す項目と、管理画面だけで扱う項目を分けてください。