WordPressの条件分岐!特定の投稿記事のみ表示・非表示できる
WordPressは共通で使用しているphpファイルが多く、同じデザインやテンプレートにして複数の記事を生成することができます。
ただし、同じデザインやテンプレートでも、この投稿記事のみにコンテンツを表示させたい!非表示にしたいということも出てきます。
そういった場合は、条件分岐がすごく便利です。
今回は、特定の投稿記事のみに表示・非表示ができる条件分岐をご紹介します。
特定の投稿記事のみに表示・非表示する方法
以前に固定ページの条件分岐(if文)をご紹介しましたが、これと同じです。
>>固定ページの条件分岐
「WordPressで共通のphpファイルで特定の固定ページのみに表示(非表示)する方法」の記事はこちら
今回は投稿記事のif文になります。
1 2 3 4 5 |
<?php if(is_single( array( 14 ) ) ): ?> ①ここに表示させたい内容を記入する <?php else: ?> ②特定のページ以外のページに表示する内容 <?php endif; ?> |
1行目の「is_single」と記載することで投稿記事の中からという指示になります。上記の「14」という数字は投稿記事のページIDになります。
この2つの意味で「投稿記事の中のページID:14」と指定していることになります。
ページのIDを特定する方法はコチラの記事をご覧ください。また、この条件分岐はいろいろな応用もできますので下記の記事を参考にしてみてください。
>>「WordPressで共通のphpファイルで特定の固定ページのみに表示(非表示)する方法」
WordPressの投稿と固定ページは別もの
ホームページ上では投稿記事と固定ページは同じように観覧でき、行き来することができます。
ですが、WordPressを構築してホームページを制作する際には、どうしても投稿と固定ページを同じにしてしまいがちです。
「is_single」という指定をするだけで投稿という範囲に絞れます。ただし、固定ページは別の指定になります。
固定ページの場合は、「is_single」を「is_page」と記述する必要があります。
こういった細かい指定を制作中は忘れていたりすることが多く、正確に記述しているのに表示されない!動かない!といったミスになりがちです。
また、こういった初歩的なミスは、記述上は間違っていないので、ホームページは崩れにくく正常に表示されます。ただ、指定したものだけが動かないといった症状になるのです。
これは、どこが間違っていてどこが正しいのかを判別しにくく、解決策を探すのにネットで「〇〇が動かない」などと検索しても解決方法が見つかりにくいです。
検索して解決方法が見つからなかったり、参考になるサイトが全く出てこなかったりする場合は、私の経験上、初歩的なミスが多いです。
そういった場合は、まず投稿なのか固定ページなのかを確認していきましょう!