写真のように、ページの上部にサブメニューを表示する方法について
以下のPHPコードを、functions.phpに追加します。
以下のコードの場合
メニュー階層は制限なしです
キーボードアクセシビリティ対応
add_action( 'after_setup_theme', 'raindrops_add_secondary_navigation' );
function raindrops_add_secondary_navigation(){
register_nav_menus( array( 'secondary'=> esc_html__( 'Secondary Navigation', 'Raindrops' ), ) );
add_filter( 'raindrops_embed_meta_css','raindrops_secondary_navigation_style' );
add_action( 'raindrops_prepend_doc', 'raindrops_secondary_navigation' );
add_filter( 'script_loader_tag', 'raindrops_script_loader_tag', 10, 3 );
}
function raindrops_secondary_navigation(){
$defaults= array(
'theme_location' => 'secondary',
'container' => 'div',
'container_class'=> 'secondary-nav-menu',
'menu_class' => 'menu',
'menu_id' => 'secondary-memu',
'echo'=> true,
'fallback_cb' => '',
'before'=> '',
'after'=> '',
'items_wrap' => '
',
'depth'=> 0,
);
wp_nav_menu( $defaults );
echo '';
}
function raindrops_secondary_navigation_style( $css ) {
.secondary-nav-menu{
}
.secondary-nav-menu ul,
.secondary-nav-menu li{
}
.secondary-nav-menu> .menu li{
}
.secondary-nav-menu .children,
.secondary-nav-menu .sub-menu{
}
.secondary-nav-menu ul ul li ul li,
.secondary-nav-menu li:hover> .children> li,
.secondary-nav-menu li:hover> .sub-menu> li{
}
.secondary-nav-menu li.menu-has-children:hover ul,
.secondary-nav-menu li:hover> li,
.secondary-nav-menu li:hover> .children,
.secondary-nav-menu li:hover> .sub-menu{
}
.secondary-nav-menu ul ul li ul li{
}
.secondary-nav-menu .item-wrapper a,
.secondary-nav-menu .item-wrapper{
}
.secondary-nav-menu .item-wrapper{
}
/* keyboard accessibility .focus support raindrops-helper.js */
.secondary-nav-menu ul ul li ul li.focus,
.secondary-nav-menu li.focus> .children> li,
.secondary-nav-menu li.focus> .sub-menu> li{
}
.secondary-nav-menu li.menu-has-children.focus ul,
.secondary-nav-menu li.focus> li,
.secondary-nav-menu li.focus> .children,
.secondary-nav-menu li.focus> .sub-menu{
}
/* menu list color */
.item-wrapper{
}';
}
function raindrops_script_loader_tag( $tag, $handle, $src ) {
$script= "jQuery( '.secondary-nav-menu' ).find( 'a' ).on( 'focus.raindrops blur.raindrops', function ( ) { jQuery( this ).parents( ).toggleClass( 'focus' );} );
jQuery( '.secondary-nav-menu' ).on('mousemove','a', function(){
});";
if ( $handle== 'raindrops_helper_script' ) { return $tag . '' . "\n"; } return $tag;}