webコンテンツを徹底強化!WordPressサイト制作とプラグイン&テーマ情報・メンテ/エラー対応から、PHP/CSS/javascript、動画・音・イラスト等制作まで扱うコラム
マルチメディアコンテンツ制作読んどけ☆コラム

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

      2021/02/16

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

まずは管理人がやってみた事例~特定の固定ページで『Googleアナリティクスタグ』を非表示にする

header.phpに『特定の固定ページのみで非表示』を入れる

管理人はheader.php内にアナリティクスコードいれていて、この『4356-2』というのは、固定ページで下書きやレイアウト確認に使っているページです。しかしアナリティクスが入ってるから、何回も読み込むと、PVが上乗せされてしまいます。そこで・・・

<?php if(!is_page( '4356-2' )): ?> ここにアナリティクスコード <?php endif; ?>

と書き、ページのパーマリンク4356-2(下書き用のページ)を指定しました。『表示させたい時は!を外す』『表示したくないときは!つける』というようにします。

固定ページパーマリンク『4356-2』でのHTMLソース

条件分岐で非表示にしたから、『その対象のページ』では、アナリティクスタグが読み込まれません。何回リロードしても、PV上乗せしないので、レイアウト確認用のページに使えるようになりました。

固定ページパーマリンク『4356-2』以外の、他のページでのHTMLソース

ちなみに、他のページでは『Googleアナリティクスタグが出力』されています。ここはぶろぐのトップページです。all in one SEOや、テーマ機能でアナリティクスタグ出してる場合は、他に出力してる部分を探さなければなりません。

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で覚えよう】PHP「->」(オブジェクト演算子/アロー演算子)・「=>」(ダブルアロー演算子)の違い

今回は、管理人もPHP学習し始めのときは混同していた、PHPの演 ...

【超危険】WordPressデータベースリビジョンお掃除

今回は、WordPressのリビジョンが、データベースに大量にた ...

【PHP】カウントダウン機能に使える?array_reverseで配列要素を逆に,パラメーター挙動&array_flipとの違い

今回は、管理人がYouTubeData APIの、order=d ...

YouTube Data APIを使って、PHPで『タイトル・動画id・サムネイル画像』などを取得してみる(Search: listリソース)

今回は、youtubeとwebサイト連携で、YouTube Da ...

テスト環境(ローカル含む)でPHPサイト開発に使えるツール&xamppでやってみた例(設定や表示ファイルetc)

今回は、管理人がサイトに、ちょっとした機能を実装しようとしていた ...

WordPress一覧表示で、特定のカテゴリ/投稿を表示しないようにするには?→category_not_in・post_not_inで

今回は、WordPressの公式フォーラムを見ていたら、『一覧か ...

WordPress・REST APIのjsonファイルにカスタムフィールドを入れ、タイトル・アイキャッチと共に外部サイトで取得・表示

今回は、管理人がWPで作ったサイトのコンテンツを、別の自社運営サ ...