biofriction-wp-theme/library/custom-nav.php

72 lines
2.0 KiB
PHP

<?php
/**
* Allow users to select Topbar or Offcanvas menu. Adds body class of offcanvas or topbar based on which they choose.
*
* @package Biofriction
* @since Biofriction 1.0.0
*/
if ( ! function_exists( 'wpt_register_theme_customizer' ) ) :
function wpt_register_theme_customizer( $wp_customize ) {
//
// // Create custom panels
// $wp_customize->add_panel(
// 'mobile_menu_settings', array(
// 'priority' => 1000,
// 'theme_supports' => '',
// 'title' => __( 'Mobile Menu Settings', 'foundationpress' ),
// 'description' => __( 'Controls the mobile menu', 'foundationpress' ),
// )
// );
//
// Create custom field for mobile navigation layout
$wp_customize->add_section(
'mobile_menu_layout', array(
'title' => __( 'Mobile navigation layout', 'foundationpress' ),
'panel' => 'mobile_menu_settings',
'priority' => 1000,
)
);
// Set default navigation layout
$wp_customize->add_setting(
'wpt_mobile_menu_layout',
array(
'default' => __( 'offcanvas', 'foundationpress' ),
)
);
// // Add options for navigation layout
// $wp_customize->add_control(
// new WP_Customize_Control(
// $wp_customize,
// 'mobile_menu_layout',
// array(
// 'type' => 'radio',
// 'section' => 'mobile_menu_layout',
// 'settings' => 'wpt_mobile_menu_layout',
// 'choices' => array(
// 'topbar' => 'Topbar',
// 'offcanvas' => 'Offcanvas',
// ),
// )
// )
// );
}
add_action( 'customize_register', 'wpt_register_theme_customizer' );
// Add class to body to help w/ CSS
add_filter( 'body_class', 'mobile_nav_class' );
function mobile_nav_class( $classes ) {
if ( ! get_theme_mod( 'wpt_mobile_menu_layout' ) || get_theme_mod( 'wpt_mobile_menu_layout' ) === 'offcanvas' ) : //'topbar'
// $classes[] = 'topbar';'offcanvas'
$classes[] = 'offcanvas';
elseif ( get_theme_mod( 'wpt_mobile_menu_layout' ) === 'offcanvas' ) :
$classes[] = 'offcanvas';
endif;
return $classes;
}
endif;