WordPressのカスタムメニューのaタグに任意のクラスを付ける:メモ

悩み
悩み

WordPressでカスタムメニュー利用時に、aタグにクラスを付けるというだけの記事です。

カスタムメニューの中身を触ろうとすると見た目的に大掛かりな印象で、ここまでするのもなんだかなという気がしていたので、簡易にできないかなとやったら出来たのでのメモ。

実現したいこと

実現したいことは以下の通り。

  • カスタムメニューを利用
  • aタグにクラスを付ける

カスタム内容にほぼ影響しませんが、作業時のWPのバージョンは4.6です。

カスタムメニューにクラスをつける

早速ですがコードを。
正規表現は苦手なのでちょっと自信がありませんが、とりあえず動くことは確認しました。


add_filter('walker_nav_menu_start_el', 'add_class_on_link', 10, 4);
 function add_class_on_link($item_output, $item){
 return preg_replace('/(<a.*?)/', '$1' . " class='gnav'", $item_output);
}

上記コードは以下のサイトを参考にさせていただきました。

上記ページの「4. サブタイトル付きのメニューを表示する」が該当箇所です。

結び

カスタムするための手段が用意されている部分に対して、別の方法で実現を試みるのもやや気が引けるのですが、単にクラスを付けたいだけだったので、今回はこちらを試した次第です。

補足:liタグにクラスをつける

調べた際に知ったのですが、liタグならば管理画面の標準機能で簡単にクラスが追加可能でした。

表示オプションは久々にクリックしましたが、わりと便利な機能が隠れている、というか使う側の認識不足ですね…。

14人がこの記事を評価

役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。

連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。