質問: wp_nav_menuはliからclassとidを削除します 私はワードプレスに不慣れで、テーマを作ることを通して私のやり方を学ぶことを試みています。今私は私のメニューを生成するのにwp_nav_menuを使っていますただし、メニューのデフォルト生成は次のようになります。<div id="navi"> <div class="menu-primary-container"> <ul id="menu-primary" class="menu"> <li id="menu-item-14" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14"></li> <li id="menu-item-16" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-16"></li> <li id="menu-item-20" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20"></li> <li id="menu-item-15" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-15"></li> <li id="menu-item-17" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17"></li> </ul> </div> </div> liとulからすべてのクラスとidを削除したいです。私はしばらくグーグルしています。さまざまな方法を試してみたが、運が悪い。どんな助けでも大いに感謝されるでしょう。私は現在wordpress 3.1を使っています前もって感謝します!
回答: wp_nav_menu() function を見ると、アイテムは walk_nav_menu_tree() によって書かれています。これは walker_nav_menu を呼び出して作業を行うためのものです)。 method start_el() 各メニュー項目に対して呼び出されます。この関数では、クラスがnav_menu_css_classでフィルタリングされ、idがnav_menu_item_idでフィルタリングされていることがわかります。したがって、これらのフックに独自のコードをアタッチするとあなたが欲しいものに。サブメニュー 常にメインラッパーである<ul class="sub-menu"> でラップされています menu_idおよびmenu_class引数 で変更できます。