WordPressを使って会員制サイトを作ることになったのでプラグインを駆使して取り組んでみた。
ただ理想のものに近づける為には無料のテーマとプラグインだけでは少し難しい部分もあるので、ちょいちょいカスタマイズが必要になる。
今回は、ログインしているかログインしてないのか分かりにくいので、ログインしている人には「ようこそnakattyさん」と表示してログインしてない人には「ログインしてね!」と表示させるようにしようと思う。
ちなみに前回はリダイレクト機能を使ってログインしてるユーザーしか見れないページを作った。
nakatty
今回は会員サイトで良く見かける「ようこそ〇〇さん」てやつを導入します。
あれがあると会員サイトっぽいですよね。
のぶこ
表示させる為のコード
今回はログインしているのかログアウトしているのかで表示する内容を変えたいので
is_user_logged_in()という関数を使います。
そしてis_user_logged_in()を使ってできたのがこれです。
1 2 3 4 5 |
<?php if( is_user_logged_in() ) : ?> ようこそ!<?php the_author_meta('nickname'); ?>さん <?php else : ?> <a href="ログインのURL">ログイン</a>してね! <?php endif; ?> |
これを表示したい場所に書き加えればOKですね。
意味としては「もしログインしてるなら「ようこそ!<?php the_author_meta(‘nickname’); ?>さん」を表示、ログインしてないなら「<a href=”ログインのURL”>ログイン</a>してね!」を表示する」的な感じです。
「ようこそ!<?php the_author_meta(‘nickname’); ?>さん」と「<a href=”ログインのURL”>ログイン</a>してね!」は好きなように書いても大丈夫です。
なので「やっほー!<?php the_author_meta(‘nickname’); ?>ちゃん」でも機能します(๑•̀ㅂ•́)و✧
<div>とかで挟んでclassとか付ければcssでデザインもいじれちゃいます!
コードを貼り付ける
このコードを貼り付けたい場所に貼り付けます。
私の場合はヘッダーのしたら変に表示させたかったので、header.phpに追記しました。
↓みたいな感じで切り替わるのでバッチリ機能してます。
しかし、テーマを更新した時に消えてしまったので別の方法をとります。
※親テーマに直接手を加えるとテーマ更新時に全部追記したのが消えてしまうので親テーマは直接編集しない方が良いみたいです。
アクションフックを使う
親テーマに手を加えることなく表示させる方法としてアクションフックを利用する方法を使いました。
アクションフックとは、テーマのいたるところにある「do_action()」と書いてあるやつです。
テーマ内では「do_action(‘アクションフック名’)」みたいに色んなやつはあると思います。
※テーマによっては用意してないものもあるかもしれません。
たまたま使っていたテーマには、ちょうど欲しいところにこのアクションフックが用意されていたのでこれを活用します。
まず↓の内容でPHPファイルを作ります。ファイル名前はなんでも良いです。
1 2 3 4 5 |
<?php if( is_user_logged_in() ) : ?> ようこそ!<?php the_author_meta('nickname'); ?>さん <?php else : ?> <a href="ログインのURL">ログイン</a>してね! <?php endif; ?> |
nakatty
私は名前のセンスが無いのでnakatty.phpにしました。
次に、この作成したPHPファイルをFFFTPなどのソフトを使ってWordPressで使用している子テーマ内にアップロードします。
そして最後に子テーマのfunction.phpに以下のコードを追記します。
1 2 3 4 |
function header_login() { get_template_part('nakatty');//呼び出すphpファイル名 } add_action('アクションフック名', 'header_login'); |
get_template_partで表示させるphpファイルを呼び出します。
今回の場合は↑で作成したphpファイルの名前を入れればOKです。
functionの横にあるheader_loginは適当に好きな名前にしてOKです。書き換える場合は4行目にもheader_loginがあるので同じように合わせてください。
これで指定したアクションフックの場所に、表示したいphpファイルを呼び出すことができます。
まとめ
ログイン中かログイン前かで表示を変える方法と、アクションフックを使って表示させる方法をまとめました。
アクションフックで表示させると場所によってはレイアウトが崩れてしまうことがあるので注意が必要です。
nakatty
なんとか、ようこそ〇〇さんを表示させることができました。
会員サイトの完成に一歩近づきましたね!
のぶこ