【WordPress】is_page()が効かない原因と対処法

こんにちは!CODE CLUB965のKです!

今回は、WordPressで独自の関数である「is_page()」メソッドが効かない時の原因と対処法について書こうと思います。

一応、is_page()の基本的な使い方ですが、例えば以下のようなコードがあったとします。

if ( is_page('hoge') ) {
  // 処理内容
}

上記は「hoge」というスラッグのページが開かれたときにだけ特定の処理を行います。
このように条件分岐をさせることが可能になります。

しかし、上記のように記述しても正しく動作しない場合があります。

以下に考えられる原因と対処法を書いておきます。

原因と対処法その1

考えられる原因

is_page()を使用する以前に「have_post()」や「query_post()」を使用している。

かつリセット処理を行っていない

以上の2つが考えられます。

その場合、is_page()を使用する前に、「wp_reset_query();」を実行してあげてリセット処理を行います。

wp_reset_query();
if ( is_page('hoge') ) {
  // 処理内容
}

原因と対処法その2

2つ目に考えられる原因として、同じスラッグを使用していることが考えられます。

例えば、

・固定ページの.../hoge/
・カスタム投稿タイプの.../hoge/

上記のように同じスラッグを使用している場合は正しく動作しない場合があります。
そのため重複しているスラッグのどちらかを変更して下さい。

原因と対処法その3

最後に考えられる原因として、アクションフックなどを使ってfunction()で囲っていない場合に正しく動作しないことが考えられます。

そのため、is_page()を使用する場合、以下の例のように記述してあげることで正しく動作します。

add_action( 'wp', 'hoge_hoge' ); 
function hoge_hoge( $fields ) {
  // 処理内容
}

CODE CLUB965の活用方法

今回は、WordPress独自の関数である「is_page()」が効かない時の原因と対処法についてまとめました。

もし上記の方法でも解決しない場合は、他に原因があるかもしれないので調べてみて下さい。
それでも分からなければ私のTwitterのDMでもお問い合わせからでもいいのでお気軽にご質問ください!

【WordPress関連のよくある悩み】

【WordPress】自動送信されるメールを停止する方法

【WordPress】functions.php ファイルの場所は?

【WordPress】IP Geo Blockで「Sorry, your request cannot accepted.」が出たときの対処法

【WordPress】ブログやサイトのURLを取得する方法

css,htmlなどの個別相談も大歓迎

CODE CLUB965では、個別コンサルティングサービスをご提供しております。

スクール等のサービスとは以下の点が違います。

  • あらかじめすべてのカリキュラムが指定されていません
  • phpのみを徹底的に学びたいなんてご要望も対応いたします
  • 今自分の困っている指定カテゴリについてのみサポートを受けたい
  • webサイト制作だけでなく、アプリ制作なども学びたい

など自分の今困っている内容について、ご相談いただけましたら、個別のカリキュラムをご用意させていただきます。

まずは、どんなサービスなのかというよりも、一旦お試し相談も可能です。

本格的なプログラミングを学ぶ前段階の方でもご安心ください。

最後には、転職サポートも受けたいという方にもその人の要望やスキルに合わせてご提案をさせていただきます。

Follow me!

【WordPress】is_page()が効かない原因と対処法” に対して4件のコメントがあります。

コメントは受け付けていません。