WordPressユーザーが覚えると便利な条件分岐~投稿記事・固定ページ指定して表示/非表示

      2021/06/18   1457文字

今回はWordPress サイト制作で使えるテクニックです。

WordPress組み込みの条件分岐、投稿ページ/固定ページ(is_single/is_page)で表示/非表示を行ってみます。ページによってテンプレートの表示を切り替えたりできる、基本かつ便利なテクニックです。『特定ページで出さない、みたいな例』『パラメーター(記事idなど)の指定例』を見ていってみましょう。

WordPress で投稿ページ/固定ページ指定しての表示/非表示(is_single/is_page)、パラメーター指定例

とりあえず、投稿記事と固定ページをまとめました。『is_single』で投稿記事、『is_page』で固定ページ・『!is_page』みたいに!マークのときはそこだけ非表示(PHP否定演算子)のようにおさえていただくとよいでしょう。

ちなみにパーマリンクは分かりやすく『数字』になっていますが、設定に応じて書き換えてください(github gistに載せるほどでもないので、単純にエスケープしています)。

投稿記事●●番のときだけ表示

<?php if(is_single( ‘4612’ )): ?>
記事投稿4612番のときだけ表示
<?php endif; ?>

投稿記事●●番のときだけ表示しない

<?php if(!is_single( ‘4612’ )): ?>
記事投稿4612番のときだけ表示しない
<?php endif; ?>

固定ページパーマリンク●●のときだけ表示

<?php if(is_page( ‘4356-2’ )): ?>
固定ページパーマリンク4356-2のときだけ表示
<?php endif; ?>

固定ページパーマリンク●●のときだけ表示しない

<?php if(!is_page( ‘4356-2’ )): ?>
固定ページパーマリンク4356-2のときだけ表示しない
<?php endif; ?>

どんな時に使えそう?

わかりやすく『固定ページ・投稿記事で表示・非表示』と行ってみましたが、トップページ『is_front_page()』・id●番のカテゴリ『is_category( ‘●’ ) 』みたいなのを組み合わせると、幅が広がります。

  • トップページだけメインビジュアルや特集バナー
  • 特定のカテゴリーだけ、そのジャンルにあった広告
  • コンバージョン狙い(自社サービス申し込みとか)のページだけアドセンスカット

といった活用にも使えるので、ぜひ使ってみてください。
(fc2ぶろぐの関数と似ているので、fc2ユーザーは雰囲気つかみやすいかもです。)

(参考リンク)WordPress 条件分岐について

今回つかった2つ以外にも、WordPressには多くの条件分岐タグが用意されています。命名規則は『is_admin(管理画面か)』のように、is_〇〇といった、プログラムでよくある形になっているので押さえやすいかも。

WordPressサイト制作&リニューアル・機能開発サービス | アトリエSS


【カテゴリ】 - PHP・データベースetc
【タグ】 - , , ,

  関連記事

PHP・mb_substr関数を使って、タイトル文字数を揃える(WPレイアウト調整)
【WordPress組み込み関数】is_home()とis_front_page()って同じ?→似てますが、厳密には挙動が異なります
PHP・shuffleやarrayを使った、画像ランダム表示方法~メインビジュアルやバナー・テキストにも利用可能
【WordPress】記事文字数のカウント方法(コア機能・プラグイン)チェックと、フロントへの出力について
【WordPressでPHPプログラムを学習シリーズ1】用語:PHP変数・関数・定数を、WPの機能を通して覚える
【WordPress条件分岐】is_singleとis_singularって違うの?→idやスラッグ指定、投稿タイプ指定の面で違いが
【画像つきでわかりやすい】WordPressで使われるデータは、MySQLデータベースに、どのように格納されているの?
WordPress一覧表示で、特定のカテゴリ/投稿を表示しないようにするには?→category_not_in・post_not_inで
WPデータベースの余計なデータには何がある?事例と対処方法・あるとイヤなケース
【WP記事取得クエリ・プラグイン無し】お知らせなどに使える、ショートコードで特定カテゴリ記事を表示プログラム
WordPress・REST APIのjsonファイルにカスタムフィールドを入れ、タイトル・アイキャッチと共に外部サイトで取得・表示
テスト環境(ローカル含む)でPHPサイト開発に使えるツール&xamppでやってみた例(設定や表示ファイルetc)