WordPressで特定のページのみコンテンツを表示する方法
is_何々というコンディショナルタグを使って特定のページにのみコンテンツを表示できる。
例えば当サイトの場合、ホームとシングルページのサイドバーには投稿者のプロフィールが表示されるが、カテゴリーや日付アーカイブでは表示されないようになっている。何故かと言うと、当サイトの場合カテゴリーページは記事の抜粋が最大10件並ぶように設定されているので、投稿者が複数いた場合にプロフィールの欄があると、誰の投稿かわからなくなってしまうからだ。
テンプレートごとに読み込むサイドバーを変更するのも手だが、今回紹介する方法は至ってシンプルで、if文による条件分岐で解決できる。
例:ホームとシングルにだけプロフィールを表示する
-
<?php if (is_home() || is_single()) { ?>
-
<dl>
-
<dt>この記事の投稿者</dt>
-
<dd>プロフィール</dd>
-
</dl>
-
<?php } ?>
これは、is_home()またはis_single()の場合中身を表示しなさいよという命令文なので、表示されているページがホームとシングルの場合は投稿者のプロフィールが表示される。もちろんプロフィールだけでなく、どんなに長い文章も表示することができるので、極端に言ってしまえば、コンディショナルタグだけでまったく違うサイトにしてしまうことも可能なのだ。
この他にもページによる条件分岐は沢山用意されているので、以下にその一覧を記載する。
コンディショナルタグ一覧
is_admin, is_paged, is_archive, is_attachment, is_author, is_category, is_tag, is_comments_popup, is_date, is_day, is_feed, is_home, is_month, is_page, is_plugin_page, is_preview, is_robots, is_search, is_single, is_singular, is_time, is_trackback, is_year, is_404
この中でもよく使うと思われるものはこちら。
- is_home()・・・ホーム
- is_single()・・・シングル
- is_category()・・・カテゴリー(is_category('2')などとするとカテゴリーIDで絞れる)
- is_page()・・・ページ
- is_search()・・・検索結果画面
- is_archive()・・・アーカイブページ
以前紹介したカテゴリースラッグでCSSを変更する方法と併用すると、MTの様にかなり自由なデザイン変更が可能となるはずだ。





