76 lines
2.3 KiB
PHP
76 lines
2.3 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Register Menus
|
||
|
*
|
||
|
* @link http://codex.wordpress.org/Function_Reference/register_nav_menus#Examples
|
||
|
* @package FoundationPress
|
||
|
* @since FoundationPress 1.0.0
|
||
|
*/
|
||
|
|
||
|
register_nav_menus(
|
||
|
array(
|
||
|
'top-bar-r' => esc_html__( 'Right Top Bar', 'foundationpress' ),
|
||
|
'mobile-nav' => esc_html__( 'Mobile', 'foundationpress' ),
|
||
|
)
|
||
|
);
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Desktop navigation - right top bar
|
||
|
*
|
||
|
* @link http://codex.wordpress.org/Function_Reference/wp_nav_menu
|
||
|
*/
|
||
|
if ( ! function_exists( 'foundationpress_top_bar_r' ) ) {
|
||
|
function foundationpress_top_bar_r() {
|
||
|
wp_nav_menu(
|
||
|
array(
|
||
|
'container' => false,
|
||
|
'menu_class' => 'dropdown menu',
|
||
|
'items_wrap' => '<ul id="%1$s" class="%2$s desktop-menu" data-dropdown-menu>%3$s</ul>',
|
||
|
'theme_location' => 'top-bar-r',
|
||
|
'depth' => 3,
|
||
|
'fallback_cb' => false,
|
||
|
'walker' => new Foundationpress_Top_Bar_Walker(),
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Mobile navigation - topbar (default) or offcanvas
|
||
|
*/
|
||
|
if ( ! function_exists( 'foundationpress_mobile_nav' ) ) {
|
||
|
function foundationpress_mobile_nav() {
|
||
|
wp_nav_menu(
|
||
|
array(
|
||
|
'container' => false, // Remove nav container
|
||
|
'menu' => __( 'mobile-nav', 'foundationpress' ),
|
||
|
'menu_class' => 'vertical menu',
|
||
|
'theme_location' => 'mobile-nav',
|
||
|
'items_wrap' => '<ul id="%1$s" class="%2$s" data-accordion-menu data-submenu-toggle="true">%3$s</ul>',
|
||
|
'fallback_cb' => false,
|
||
|
'walker' => new Foundationpress_Mobile_Walker(),
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Add support for buttons in the top-bar menu:
|
||
|
* 1) In WordPress admin, go to Apperance -> Menus.
|
||
|
* 2) Click 'Screen Options' from the top panel and enable 'CSS CLasses' and 'Link Relationship (XFN)'
|
||
|
* 3) On your menu item, type 'has-form' in the CSS-classes field. Type 'button' in the XFN field
|
||
|
* 4) Save Menu. Your menu item will now appear as a button in your top-menu
|
||
|
*/
|
||
|
if ( ! function_exists( 'foundationpress_add_menuclass' ) ) {
|
||
|
function foundationpress_add_menuclass( $ulclass ) {
|
||
|
$find = array( '/<a rel="button"/', '/<a title=".*?" rel="button"/' );
|
||
|
$replace = array( '<a rel="button" class="button"', '<a rel="button" class="button"' );
|
||
|
|
||
|
return preg_replace( $find, $replace, $ulclass, 1 );
|
||
|
}
|
||
|
add_filter( 'wp_nav_menu', 'foundationpress_add_menuclass' );
|
||
|
}
|