ログイン中のユーザーにのみコンテンツを表示したい場合に「is_user_logged_in()」を使用して条件分岐を行います。
「is_user_logged_in()」は会員制サイトの構築にも役立ちます。
参考サイト:is_user_logged_in – WordPress私的マニュアル
目次
ログイン中にのみ表示
<?php if ( is_user_logged_in() ) : ?>
<p>ログイン中です。</p>
<?php endif; ?>
非ログイン時のみ表示
<?php if ( !is_user_logged_in() ) : ?>
<p>ログインして下さい。</p>
<?php endif; ?>
ログイン中・非ログイン時を同時に記述
<?php if ( is_user_logged_in() ) : ?>
<p>ログイン中です。</p>
<?php else : ?>
<p>ログインして下さい。</p>
<?php endif; ?>
よくある記述方法
<?php
function my_display_user_data() {
// ログインしていないユーザーにメッセージを表示
if (!is_user_logged_in()) {
return "<p>ログインしてください。</p>";
}
$user_data = wp_get_current_user();
$output = 'ようこそ、'.$user_data->last_name.$user_data->first_name.' さん<br>';
$output .= $user_data->ID.'<br>';
$output .= $user_data->user_nicename.'<br>';
return $output;
}
add_shortcode('shortcode_display_user_data', 'my_display_user_data');