2018.08.29

[WordPress]ログイン・ログアウトの切替リンクを表示する方法

こんばんは、webエンジニアのゾノ( @ozonosho )です。

さて、今日のブログではWordPressでログイン・ログアウトの切替リンクを表示する方法を紹介したいと思います。

今回は「ログインしていないときにはログインボタンが表示されて、ログインしているときにはログアウトボタンが表示されるようにしたい」という相談をいただいたので実装してみました。

WordPressでログイン・ログアウトの切替リンクを表示する方法

実装は簡単で、ログイン・ログアウトの切替リンクを表示したい箇所に下記のコードを追加してください。

<?php if(!is_user_logged_in()) { ?>
	<a href="<?php bloginfo('url'); ?>/wp-login.php">ログイン</a>
<?php } else { ?>
	<a href="<?php echo wp_logout_url(get_permalink()); ?>">ログアウト</a>
<?php } ?>

関数is_user_logged_in()を利用すれば自分がログインしているかどうかを判定できるため、ログイン時と非ログイン時で別々の処理を実行することができます。

ログアウト用のリンクは関数wp_logout_url()で取得できます。
ログアウト後にリダイレクトされるページを引数で指定することができるので、wp_logout_url(get_permalink())として元のページに戻してあげると親切でしょう。

今回はログイン・ログアウトの切替リンクをつくりましたが、ログイン判定をおこなえば下記のような運用も可能になります。

  • 会員のみサイトの閲覧・投稿を可能にする
  • 非ログインユーザーのみ案内ページを表示する
  • ログインユーザーのみマイページへのリンクを表示する

記述方法は関数wp_logout_url()で条件分岐させるだけです。

<?php
	//ログインユーザーのみに特定の処理をおこなう場合
	if(is_user_logged_in()) {
		//ここに処理を記述
	}
	//非ログインユーザーのみに特定の処理をおこなう場合
	if(!is_user_logged_in()) {
		//ここに処理を記述
	}
	//ログインユーザーと非ログインユーザーで別々の処理をおこなう場合
	if(is_user_logged_in()) {
		//ここにログインユーザー用の処理を記述
	} else {
		//ここに非ログインユーザー用の処理を記述		
	}
?>

会員制のサイトでは間違いなく必要になる処理なので、ぜひ色々と試してみてください。

おわりに

以上、今回の記事ではWordPressでログイン・ログアウトの切替リンクを表示する方法を紹介させていただきました。

当サイトではWordPressのカスタマイズ依頼を請け負っています。実現したい機能・要望がある方はぜひ下記ページよりご相談ください。

あなたのサイトに理想の機能を実装!WordPressカスタマイズサービス

本サービスはあなたのWordPressサイトに理想の機能を実装するサービスとなります。 どのような機能・要望でも実現可能です! Wo......

→この記事を読む