biofriction-wp-theme/library/navigation.php

97 lines
3.0 KiB
PHP

<?php
/**
* Register Menus
*
* @link http://codex.wordpress.org/Function_Reference/register_nav_menus#Examples
* @package Biofriction
* @since Biofriction 1.0.0
*/
register_nav_menus(
array(
'top-bar-c' => esc_html__( 'Center Top Bar', 'foundationpress' ),
'top-bar-r' => esc_html__( 'Right Top Bar', 'foundationpress' ),
'mobile-nav' => esc_html__( 'Mobile', 'foundationpress' ),
)
);
/**
* Desktop navigation - center top bar
*
* @link http://codex.wordpress.org/Function_Reference/wp_nav_menu
*/
if ( ! function_exists( 'foundationpress_top_bar_c' ) ) {
function foundationpress_top_bar_c() {
wp_nav_menu(
array(
'container' => false,
'menu_class' => 'center align-center dropdown menu',
'items_wrap' => '<ul id="%1$s" class="%2$s" data-dropdown-menu>%3$s</ul>',
'theme_location' => 'top-bar-c',
'depth' => 3,
'fallback_cb' => false,
'walker' => new Foundationpress_Center_Top_Bar_Walker(),
)
);
}
}
/**
* 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" 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' );
}