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
【タグ】 - , , ,

  関連記事

【webサイトセキュリティ対策】検索フォームへのSQL判定などがある不正な入力を、WAFで遮断する
WordPress記事一覧ページの『本文からの抜粋』を表示する関数と、その文字数の調整方法をチェックする
【WordPress組み込み関数】is_home()とis_front_page()って同じ?→似てますが、厳密には挙動が異なります
【ユーザーデータ取得】WordPress定義済み関数の『get_userdata()』『wp_get_current_user()』ってどのように違うの?
【WordPress更新情報表示】php/wp組み込みファンクション(fetch_feed)で取得と、プラグインで表示どちらが良い?
【PHPプログラミング】メモ帳に適当にメモったPV数値をexplodeで配列にし、array_sumで合計値を計算する
【PHP etc.プログラム学習サイトコードコピペ】全角引用符・バッククオートが入ってて動かない件に注意
PHP・shuffleやarrayを使った、画像ランダム表示方法~メインビジュアルやバナー・テキストにも利用可能
WordPress・REST APIのjsonファイルにカスタムフィールドを入れ、タイトル・アイキャッチと共に外部サイトで取得・表示
【WP記事取得クエリ・プラグイン無し】お知らせなどに使える、ショートコードで特定カテゴリ記事を表示プログラム
PHP・mb_substr関数を使って、タイトル文字数を揃える(WPレイアウト調整)
【画像つきでわかりやすい】WordPressで使われるデータは、MySQLデータベースに、どのように格納されているの?