うーん。
あんまりうまくできてないと思うのですが、
- 料理(meal)というカスタム投稿タイプを追加
- 提供時間(m_time)というカスタムタクソノミーを追加(ランチ、ディナーとかを登録のイメージ)
- グロナビなど、wp_nav_menuで料理のarchiveページへのリンクを追加してる
という状況。
この場合、example.com/mealの時はcurrent-menu-itemクラスが追加されるのですが、
- 提供時間のarchiveページ
- 料理タイプの個別記事ページ
にいるときには追加されず困ります。
@jim0912さんのナビゲーションメニューのclassにページやカテゴリーのスラッグを追加してみるというページを参考に、下記のようにしてみました。
*これだと、毎回手動で入力しないといけないので自動で取得するようにしないといけないですが、重くなりそうなのでまた今度。。
function make_menu_current( $classes, $item ) { if ( $item->title == '料理' && ( is_tax( 'm_time' ) || 'meal' == get_post_type() ) ) { $classes[] = 'current-menu-item'; } $classes = array_unique( $classes ); return $classes; } add_filter( 'nav_menu_css_class', 'make_menu_current', 10, 2 );
コメント