ホテル・結婚式場などのホームページがつくれるエレガントなデザインのテンプレート「CANON」
ワードプレステーマ別

TCDテーマHOLOS:アンカーリンクが含まれるメニュー項目のスタイルを取り除く方法

WordPressテーマ「NULL」

TCD LABOはWordPressテーマ「NULL」を使用して作られています。

ダウンロード

Q.質問内容

アンカーリンクが含まれるメニュー項目をアクティブにさせたくない場合、どうすればいいですか?
サイトのURLの後ろに#付きのページ内リンクの指定をすると、メニューの色が変わってしまい困ります。

▼変更箇所イメージ
変更箇所イメージ

A.下記の方法でカスタマイズしてください。

編集するファイル: functions.php

下記内容を追記してください。

function remove_current_menu_item_class_from_inner_link($classes,
$item, $args) {
  global $wp;
  // メニュー項目のURLをサニタイズ
  $item_url = esc_url($item->url);

  // メニュー項目のURLにアンカーリンクが含まれている場合は、current-menu-itemクラスを削除
  if (strpos($item_url, '#') !== false) {
    $classes = array_diff($classes, array('current-menu-item'));
  }
  return $classes;
}
add_filter('nav_menu_css_class',
'remove_current_menu_item_class_from_inner_link', 10, 3);

補足)
・最後尾に「?>」がある場合は、「?>」の上に追記してください。
・「Code Snippets」プラグインを使うことで、「functions.php」ファイルの直接編集が不要になります。

この記事は役に立ちましたか?

もし参考になりましたら、下のボタンで教えてください。
今後の記事作成の参考とさせて頂きます!

同じテーマのカスタマイズ記事