ワードプレスの表示・非表示の分岐っていつも忘れてしまうんですよね
はじめに
ワードプレスでサイトを制作する際にトップページのみ、固定ページのみ、カテゴリーページのみなど各ページごとに表示させたい内容ってありますよね。今回はその分岐についてご説明させて頂きます。
注意事項
ワードプレスのバージョンによって変わる事もあるので注意して下さい
コピペで出来る分岐はこちら
トップページにのみ表示させる
<?php if ( is_home() || is_front_page() ) : ?> ここにトップページのみに表示させたい事を書きます。 <?php endif; ?>
トップページ以外に表示させる
<?php if ( !is_home() && !is_front_page() ) : ?> ここにトップページ意外に表示させたい事を書きます。 <?php endif; ?>
「||」を「&& !」にする事で表示・非表示の方法が変わります。
まとめて表示させたい場合
トップページに表示させたい事とトップページ以外に表示させたい事の分岐の場合は2つ書くのではなくまとめて表示する事が出来ます。
<?php if ( is_home() || is_front_page() ) : ?> ここにトップページのみに表示させたい事を書きます。 <?php else : ?> ここにトップページ以外に表示させたい事を書きます。 <?php endif; ?>
elseを使う事でそれ以外に表示させると言う使い方になります。
固定ページの分岐
<?php if(is_page()): ?> ここに固定ページのみに表示させたい事を書きます。 <?php endif; ?>
特定の固定ページの分岐
<?php if(is_page('固定ページの数字')): ?> ここに特定の固定ページのみに表示させたい事を書きます。 <?php endif; ?>
ちなみに複数のページに使いたい場合は
<?php if(is_page(array('固定ページの数字A','固定ページの数字B','固定ページの数字C'))): ?> ここに特定(A,B,C)の固定ページのみに表示させたい事を書きます。 <?php endif; ?>
複数で利用する場合はarrayと言うタグを使用します。
表示させるものが違う場合
それぞれの固定ページに違うものを表示させたい場合は以下のようになります。
<?php if(is_page('固定ページの数字A')): ?> ここに固定ページの数字Aに表示させたい事を書きます。 <?php elseif(is_page('固定ページの数字B')): ?> ここに固定ページの数字Bに表示させたい事を書きます。 <?php endif; ?>
elseifに固定ページのタグis_pageを使う事で特定の固定ページにそれぞれ違う内容を表示させる事が出来ます。
ワードプレスの分岐で他に使用出来るタグについて
トップページや固定ページだけではなく他のページにも使用する事が出来ます。
- アーカイブページ・・・is_archive()
- 検索ページ・・・is_search()
- 404ページ・・・is_404()
- カテゴリ・・・in_category()
- 投稿ページ・・・is_single()
- フロントページ・・・is_front_page()
以上分岐関係の説明を終了致します。
さいごに
ググるのめんどくさくなりました
ワードプレスを使ったサイト制作って毎日しているわけではなく、月に数回程度しかしないのでトップページだけってどっちやったっけ?とか特定の固定ページのみ表示させるのってどんなんやったっけ?ってなる事が多かったので、メモ用としてブログにアップさせて頂きました。
SEO対策を考えると各ページ出来るだけ早く表示できるように使わないjsなどがあれば分岐を使って表示・非表示しないといけませんし、それだけじゃなくワードプレスと相性の悪いものも出てくるかもしれませんので分岐の存在は知っておいた方が良いでしょう。