今回はWordPressで固定ページかどうか判定するための「is_page()」について解説します!いろいろな所で使える便利なコードなので、是非覚えてください。
使い方
それでは、早速基本的な使い方から。
<?php if(is_page()): ?>
//固定ページだけで処理する内容
<?php endif; ?>
「固定ページでだけ処理したい!」だけでしたら、上記で大丈夫です。
プラスして「でも固定ページ以外では違う処理をしたい!」という場合は、以下のようなコードになります。
<?php if(is_page()): ?>
//固定ページだけで処理する内容
<?php else: ?>
//固定ページ以外で処理する内容
<?php endif; ?>
<?php else: ?>で「以外」の処理を書き加えます。そんなに、難しくないですよね。
is_page()の他の使い方
固定ページか判定する以外に「特定の固定ページにだけ表示させてい!」という場合もこのis_page()を使って判定します。
IDで判定
特定の固定ページを「ID」で判定するには以下のようなコードになります。
<?php if(is_page(512)): ?>
//IDが512の固定ページの場合の固定ページだけで処理
<?php endif; ?>
上記のように書けば、idが512の固定ページだけで表示されるようになります。
ちょっと補足!
512などの整数は' 'で囲んでも囲まなくても大丈夫です。
ページタイトルで判定
特定の固定ページを「ページタイトル」で判定するには以下のようなコードになります。
<?php if(is_page('サービス')): ?>
//ページタイトルが「サービス」の固定ページだけで処理
<?php endif; ?>
スラッグで判定
特定の固定ページを「スラッグ」で判定するには以下のようなコードになります。
<?php if(is_page('service')): ?>
//スラッグが「service」の固定ページだけで処理
<?php endif; ?>
複数のページを指定
「複数の固定ページを判定する」場合は、以下のように配列で指定します。
<?php if(is_page(array('32','324','512'))) : ?>
//IDが32、312、512、の固定ページで処理する内容
<?php endif; ?>
ID、ページタイトル、スラッグを混ぜてもOK!
<?php if(is_page(array('about','324','サービス'))) : ?>
//スラッグが「about」、IDが「324」、ページタイトルが「サービス」の固定ページで処理する内容
<?php endif; ?>
この書き方は間違い!
複数を指定する際によく間違うパターンは、以下のように配列を使用せずに指定してしまう場合です。
<?php if(is_page('32','324','512')) : ?>
//この書き方は間違い。よくある間違いパターン。
<?php endif; ?>
本当によく間違ってしまうパターンなのでご注意ください。
まとめ
いかがでしたか?固定ページを判定するいろいろな方法でした。
表題は「固定ページかどうか判定する」という内容でしたが「特定の固定ページを判定する」方が長くなってしまいましたね。
それではまた!仙台・宮城でのホームページ制作やサイトリニューアルならアンドシークまで!もちろん宮城県外の方も大歓迎です!