質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

1回答

1731閲覧

カスタムメニューのクラスの編集について

pr_777

総合スコア20

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2020/05/02 07:23

Wordpressでのカスタムメニューで、
それぞれのナビのli,aタグに別々のクラスを付与するにはどうすればよいでしょうか?

PHP

1 2※functions.php 3 4//メニューの<li>からID除去 5function removeMenuId($id) 6{ 7 return $id = array(); 8} 9add_filter('nav_menu_item_id', 'removeMenuId', 10); 10 11//メニューの<li>からクラス除去 12function removeMenuClass($classes) 13{ 14 return $classes = array(); 15} 16 17add_filter('nav_menu_css_class', 'removeMenuClass', 10, 2); 18 19//メニューの<li>に任意のクラスを付与する 20function addMenuClass($classes) 21{ 22 $classes = array( 23 'modal_nav_list', 24 ); 25 return $classes; 26} 27add_filter('nav_menu_css_class', 'addMenuClass', 10, 2); 28 29// aタグに任意のクラスを付与 30add_filter('walker_nav_menu_start_el', 'add_class_on_link', 10, 4); 31function add_class_on_link($item_output, $item) 32{ 33 return preg_replace('/(<a.*?)/', '$1' . " class='modal_nav_link'", $item_output); 34} 35

googleで調べてコードを引っ張ってきました。

こちらでliタグやaタグにデフォルトで指定されるクラスの除去と任意クラスの追加はできました。
グローバルナビゲーションに付与したかったクラスをつけることができたので良かったのですが、
これらのクラスがすべてのナビゲーションに反映されてしまいます。

フッターのliタグやaタグにはこちらで指定したクラスとは別のクラスを付与したいのですが、
このような場合どうすればよいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

他のナビゲーションの前でremove_filterをすればよいです。

【remove_filter – WordPress私的マニュアル】
https://elearn.jp/wpman/function/remove_filter.html

投稿2020/05/02 07:33

kei344

総合スコア69606

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問