こんばんわ、lonlypopさん
コアの Walker_Nav_Menu クラスをオーバーライドするクラスを作成して、wp_nav_menu の args の walker に作成したクラスを new してあげればよいと思います。
詳しくは wp_nav_menu をご覧ください。
こんにちは
nav_menu_link_attributes フィルタが使えます
add_filter( 'nav_menu_link_attributes', 'my_nav_menu_attr_add', 10, 3 );
function my_nav_menu_attr_add( $atts, $item, $args ) {
/** see html source
* <li id="menu-item-25840" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25840">
* <a href="" data-toggle="modal">example</a></li>
*/
//menu item id
$menu_target = 25840;
if ( $item->ID == $menu_target ) {
$atts['data-toggle'] = 'modal';
}
return $atts;
}
nobita様
早速ありがとうございます。
こちらはメニューの
例)
<nav id=”menu”>
<ul class=”ここに任意のクラスを入れたい”>
<li class=””>メニュー1
<li class=””>メニュー2
<li class=””>メニュー3
</nav>
クラスを追加する場合は、nav_menu_css_class フィルタを使うといいかも、、、
function my_wp_nav_menu_add_custom_class( $classes, $item ) {
if ( $item->ID == 25840 ) {
$classes[] = "my_element";
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'my_wp_nav_menu_add_custom_class', 10, 2 );
ただ、menu-item-25840 みたいに、ユニークなクラスがすでにあるので、CSSなどの用途でしたら、既存クラスをうまく使ったほうがいい場合が多いと思います。
間違ったかも、ULにクラスを与えたい場合は、
http://codex.wordpress.org/Function_Reference/wp_nav_menu
$defaultの項目を参照してください