こんにちは。リナゾー(@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; ?>