【WordPress】ログインや新規登録等のリンクを自動で表示するウィジェットをPHPで簡単に作ってみる

今回は、ワードプレスのサイドバーに、ログインや新規登録、会員情報等を表示するPHPコードを作ってみたので、ご紹介します。

※注意点:このブログを基本にしてPHPコードを作ったので、ご利用されるテーマ等ではスタイルが適用できない場合があります。そのため、ご自身でコードを修正していただく必要があるかもしれません。知識不足で申し訳ありません。

コード

※リンクやスタイル等は必要に応じて書き換えてください。

  1. add_shortcode('login_side', 'shortcode_login_side');
  2. class Widget_Template extends WP_Widget {
  3.     public function __construct() {
  4.         // 初期化処理(ウィジェットの各種設定)を行います。
  5.         parent::__construct( false, 'ログイン情報表示ウィジェット' );
  6.     }
  7.     public function widget( $args, $instance ) {
  8.         // ウィジェットの内容をWebページに出力(HTML表示)します。
  9.         $viewtext.="<div class=\"widget-wrap\"><aside class=\"widget\">";
  10.         $viewtext.="<div class=\"widget-header\"><h3 class=\"widget-title\">ユーザー情報</h3></div>";
  11.         if (is_user_logged_in()==false){/*ログインされていない場合*/
  12.             $viewtext.="<ul>";
  13.             $viewtext.="<li><a href=\"[ログインパス]\">ログイン</a></li>";
  14.             $viewtext.="<li><a href=\"[ユーザー登録パス]\">ユーザー登録</a></li>";
  15.             $viewtext.="</ul>";
  16.         }
  17.         else{/* ログインされている場合 */
  18.             $user = wp_get_current_user();
  19.             $viewtext.="<a href=\"[ユーザープロフィールパス]".($user->get('user_login'))."/\" style=\"text-align: center;\">";
  20.             $viewtext.="<p>".get_avatar($user->get('ID'), 140)."</p>";
  21.             $viewtext.="<h3>".($user->get('display_name'))."</h3></a>";
  22.             $viewtext.="<p><input type=\"button\" onclick=\"location.href='[ログアウトパス]'\"value=\"ログアウト\"></p>";
  23.         }
  24.         // 後処理
  25.         $viewtext.="</aside></div>";
  26.         echo $viewtext;
  27.     }
  28. }
  29. function theme_register_widget() {
  30.     register_widget( 'Widget_Template' );
  31. }
  32. add_action( 'widgets_init', 'theme_register_widget' );
  33. add_action( 'widgets_init', function() {
  34.     register_widget( 'Widget_Template' );
  35. });

コードの記載場所

テーマあるいはプラグインのPHPに記載してください。

このウィジェットについて

ログインされていないとき

ログイン、ユーザー登録という項目がデフォルトで表示されます。(facebookは無視してください。)

ログインされているとき

ユーザーアイコン、表示名、ログアウトボタンがデフォルトで表示されます。

WP Fastest Cacheを利用している場合の注意点

ブラウザキャッシュのチェックは外しておいてください。

これにチェックをしてしまうと、ログインされているユーザーの画面がキャッシュされてしまい、個人情報が丸見えになってしまいます。

error

関連記事

返信を残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください