「is_page()」が効かない時の対処法

「is_page()」が効かない理由

WordPressで条件分岐を利用して特定のページやカテゴリーをターゲットにする場合、is_page()is_category() といった条件タグを使用します。しかし、一部のシチュエーション、特にクエリがカスタマイズされた後でこれらの条件タグが正しく動作しないことがあります。

解決方法: wp_reset_query();

wp_reset_query(); を使用することで、WordPressのメインクエリをリセットすることができます。これにより、カスタムループ後などで条件タグが正しく動作しない問題を解決することができます。

<?php wp_reset_query(); if(is_page(array('top','qa')) || is_category('news')) : ?><!-- 何らかの表示コード --><?php endif; ?>

注意点

wp_reset_query(); は、ループの後で条件タグや他のクエリ関連の関数を使用する前に使用することを推奨します。また、必要以上にこの関数を使用すると、予期しない動作を引き起こす可能性があるため注意が必要です。

まとめ

条件タグが期待通りに動作しない場合は、wp_reset_query(); を使用してメインクエリをリセットすることで問題を解決することができます。ただし、適切な場所で使用することを心掛けましょう。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール