WordPressで、ログインしてる人と、ログインしてない人で違うメニューを表示させる方法
WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。
ログイン後にのみCSSを読み込ませて、デザインや配置、表示非表示を切り替えたい場合など。
↓↓↓
メニューで、非ログイン時に非表示にするものにclass付けする
管理画面の「メニュー」で、「表示オプション」の中の「CSSクラス」のチェックボックスにチェックを入れる。
CSS class(オプション)の部分に、ログイン後非表示にしたいモノにだけ「loggedin」と書いておく。
ちなみに、class名は何でもいい。
functions.php へ記述
//ログイン時のみCSS適用
で、ログインしているユーザーにだけ、スタイルを読み込ませる。
ちなみに、この例では外部CSSではないが、下記のように外部CSSにして読み込ませても同じことができる。
https://…./xxx.css の部分にCSSのパスとファイル名を記入しておくこと。
WordPressで、ログイン時だけdisplay noneなどを適用し、非表示にする方法
例えば、「ログインはこちら」などを固定フッターに表示しているが、ログインした人には、固定フッターそのものを非表示にしたい場合などに便利。
↓↓↓ログインすると、固定フッターを非表示に↓↓↓
ちなみに、上の写真のように、固定フッターに「ログインボタン」を追加するのに便利なWordperssのプラグインはこちらの記事を参照。
固定フッターを導入する方法 ワードプレスプラグインSimple Sticky Footer
functions.phpにログイン時のみ、CSS追記をする記述を追加
管理画面の「外観」→「テーマの編集」→「テーマのための関数(functions.php)」 とクリックして、 functions.php に、
add_action( ‘wp_head’, ‘footer_custom’);
function footer_custom() {
if ( is_user_logged_in() ) :
echo ‘<style type=”text/css”>#sticky-footer {display: none;}</style>’;
endif;
}
と追記しよう。
add_action( ‘wp_head’, ‘footer_custom‘);
function footer_custom() {
この、footer_custom は任意の名前でOK。
これで、ログイン時のみ、ヘッダーに、「id=”sticky-footer” に対して display: none; ね」と追記することができる。
応用編、ログインしてない時だけに適用する
add_action( ‘wp_head’, ‘footer_custom’);
function footer_custom() {
if ( is_user_logged_in() ) :
else :
ここに非ログイン時の処理を記載
endif;
}
こんな感じで色々使える。
明日試したくなるカスタマイズ、ネットな日々に役立つ小技と、たまに旅行の妄想と。