meboet

投稿ページの条件分岐

  • WordPress
2025/04/21

headerメニュー、開いているページの種類によってcurrentクラスの付与を判断していた

laboでカスタム投稿ページを作成したことにより、laboのページ詳細でもmemoメニューにcurrentがついてしまっていたので、修正

初めは下記を試したのだが、うまくいかず

<?php if( is_single('memo') || is_category('memo') ) echo 'class="current"'; ?>

最初からある投稿ページのmemoカテゴリ!と思ってis_singleの引数にmemoを入れたが、
そもそもカテゴリ一覧は次のis_categoryの引数でmemoを設定しているので、意味なしだった…

is_singularというのがカスタム投稿用の関数らしいので、次は下記を試すもうまくいかず…

<?php if( !is_singular() || is_single() || is_category('memo') ) echo 'class="current"'; ?>

カスタム投稿以外で投稿ページかカテゴリ一覧の場合の意味で使ったがダメだった…
下記参考サイトを拝見し、下記で解決

<?php if( is_singular('post') || is_category('memo') ) echo 'class="current"'; ?>

is_singularの引数にpostを入れると通常投稿ページの意味になるみたい


参考サイト
WordPressで使う代表的な条件分岐