
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への投稿など他サービスとの連動は一切ありません。