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_〇〇といった、プログラムでよくある形になっているので押さえやすいかも。


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

  関連記事

【WordPress組み込み関数】is_home()とis_front_page()って同じ?→似てますが、厳密には挙動が異なります
【WordPress】記事文字数のカウント方法(コア機能・プラグイン)チェックと、フロントへの出力について
侍エンジニア塾ブログにあったPHPコードをシンプルに書いてみる(foreachで配列キーや値取得・continueで空要素スキップ)
【WordPress更新情報表示】php/wp組み込みファンクション(fetch_feed)で取得と、プラグインで表示どちらが良い?
YouTube Data APIを使って、PHPで『タイトル・動画id・サムネイル画像』などを取得してみる(Search: listリソース)
【PHP学習】var_dumpで出力するのと、echoで出力するのは、挙動がどのように違うの?
【画像つきでわかりやすい】WordPressで使われるデータは、MySQLデータベースに、どのように格納されているの?
【別に止めなくてOK】WordPressサイトなどに、アメブロ・fc2など無料ブログの更新情報を表示して連携する方法
WordPressの記事IDで判定して転送~PHP・headerとget_the_IDで対応、the_IDとの挙動の違いも
【WPカスタマイズ】プラグイン不使用、テーマに関連記事表示機能を実装しPV・滞在時間を上げる
WordPress・REST APIのjsonファイルにカスタムフィールドを入れ、タイトル・アイキャッチと共に外部サイトで取得・表示
テスト環境(ローカル含む)でPHPサイト開発に使えるツール&xamppでやってみた例(設定や表示ファイルetc)