
WordPressで、ログインしているユーザーとそうでないユーザーで、投稿や固定ページ上の表示内容を変化させたい場合。
例えば会員制のサイトなどで使うことが想定される。
下記を表示箇所に記載する。
<?php if (is_user_logged_in()) { //アカウント問わずログインしていたら内容を表示?>
<a href="<?php
$homeurl= esc_url( home_url( '/' ));
echo wp_logout_url($homeurl.'リダイレクト先のページ/');
?>">Log out</a>
<?php } else { //ログインしていない場合の処理 ?>
<?php if ( $_GET[ "message" ] == "failed" ) { /* ログイン失敗によりURLに?message=failedというパラメータが付与されていた場合 */ ?>
<span>ユーザー名またはパスワードに誤りがあります。</span>
<?php } ?>
<form method="post" action="<?php echo wp_login_url() ?>?redirect_to=<?php echo esc_attr($_SERVER['REQUEST_URI']) ?>">
<dl>
<dt>ユーザー名:</dt>
<dd>
<input type="text" name="log" id="login_username" value="" required />
</dd>
<dt>パスワード:</dt>
<dd>
<input type="password" name="pwd" id="login_password" value="" required />
</dd>
</dl>
<p>
<input type="submit" value="ログイン" />
</p>
</form>
<?php } //ログインしているかどうかの判定終わり ?>
a