wordpressの条件分岐で特定の固定ページだけ画像を表示するなどの操作をしたい場合

こんにちは。リナゾー(@rinazo)です。

最近はもっぱらwordpress案件が増えてきていて、毎回同じようなところで「あれ?何だっけ?」だとか「どっちだったっけ?」と自分確認が入っていることに気づいたので備忘録。

今回は固定ページでの条件分岐について。

固定ページかそれ以外かを条件分岐

まずはオーソドックスな指定。
これを基本形として展開していく感じですな。

<?php if(is_page()):?>
固定ページに表示する内容
<?php else: ?>
それ以外に表示する内容(内容がなければ空でも可)
<?php endif; ?>

特定の固定ページだけに表示させる

<?php if(is_page('1')):?>
特定の固定ページに表示する内容
<?php else: ?>
それ以外に表示する内容(内容がなければ空でも可)
<?php endif; ?>

固定ページのIDは、固定ページの一覧でページタイトルにオンマウスでチェック。
「page=◆◆」という箇所があるのでその番号を入れる。

特定の固定ページが複数ある

表示を制御したい固定ページが複数ある場合は、制御したい固定ページ全部のIDチェックの上、配列に入れ込む。

<?php if(is_page(array(1,10,100))):?>
特定の固定ページに表示する内容
<?php else: ?>
それ以外に表示する内容(内容がなければ空でも可)
<?php endif; ?>

ID以外にスラッグやページタイトルで指定もできるみたいなので、自分が管理しやすい方法で統一しておくとよいかも。

<?php if(is_page(array(16,'contact','ページのタイトル'))):?>
特定の固定ページに表示する内容
<?php else: ?>
それ以外に表示する内容(内容がなければ空でも可)
<?php endif; ?>

特定の固定ページが複数ある、かつページによって表示する内容を分けたい

elseifが大活躍。
先ほどと同様、ID指定以外にスラッグやページタイトルでも指定できる。

<?php if(is_page(array(16,101,1005))):?>
特定の固定ページに表示する内容★その1★
<?php elseif (is_page('1')): ?>
特定の固定ページに表示する内容★その2★
<?php else: ?>
それ以外に表示する内容(内容がなければ空でも可)
<?php endif; ?>

コメント

タイトルとURLをコピーしました