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タグにはこちらで指定したクラスとは別のクラスを付与したいのですが、
このような場合どうすればよいでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。