register_nav_menus(array(
'top-bar' => 'Site Navigation',
- 'members-side-menu' => 'Members Side Menu',
//'mobile-off-canvas' => 'Mobile',
'footer' => 'Footer'
));
}
endif;
-if ( ! function_exists( 'mountpleasantcvb_members_side_menu' ) ) {
- function mountpleasantcvb_members_side_menu() {
- wp_nav_menu(array(
- 'container' => false, // remove nav container
- 'container_class' => '', // class of container
- 'menu' => '', // menu name
- 'menu_class' => 'members-side-menu', // adding custom nav class
- 'theme_location' => 'members-side-menu', // where it's located in the theme
- 'before' => '', // before each link <a>
- 'after' => '', // after each link </a>
- 'link_before' => '', // before each link text
- 'link_after' => '', // after each link text
- 'depth' => 5, // limit the depth of the nav
- 'fallback_cb' => false, // fallback function (see below)
- 'items_wrap' => '%3$s',
- 'walker' => new Mountpleasantcvb_Offcanvas_Walker()
- ));
- echo '</ul>';
- }
-}
/**
* glm_page_menu
*
}
+
+/*
+ * This function returns true when the current page is the page given by ID
+ * or a descendent thereof.
+ */
+if (!function_exists('is_in_tree')) {
+ function is_in_tree( $pid ) {
+ global $post;
+ if ( is_page($pid) ) {
+ return true;
+ }
+ $anc = get_post_ancestors( $post->ID );
+ foreach ( $anc as $ancestor ) {
+ if( is_page() && $ancestor == $pid ) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
+
+if ( ! function_exists( 'glm_members_only_menu')) {
+ function glm_members_only_menu() {
+ wp_nav_menu(array(
+ 'container' => false, // remove nav container
+ 'container_class' => 'members-only-menu', // class of container
+ 'menu' => '', // menu name
+ 'menu_class' => 'members-only-menu', // adding custom nav class
+ 'theme_location' => 'members-only-menu', // where it's located in the theme
+ 'before' => '', // before each link <a>
+ 'after' => '', // after each link </a>
+ 'link_before' => '', // before each link text
+ 'link_after' => '', // after each link text
+ 'depth' => 2, // limit the depth of the nav
+ 'fallback_cb' => false, // fallback function (see below)
+ 'items_wrap' => '%3$s',
+ 'walker' => new GLM_Members_Only_Walker()
+ ));
+ }
+}
+
+if ( ! class_exists( 'GLM_Members_Only_Walker' ) ) :
+class GLM_Members_Only_Walker extends Walker_Nav_Menu {
+
+ function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) {
+ $element->has_children = ! empty( $children_elements[ $element->ID ] );
+ $element->classes[] = ( $element->current || $element->current_item_ancestor ) ? 'active' : '';
+ $element->classes[] = ( $element->has_children && 1 !== $max_depth ) ? 'page_item_has_children' : '';
+ $element->classes[] = 'page_item';
+
+ parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
+ }
+
+ function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) {
+ $item_html = '';
+ parent::start_el( $item_html, $object, $depth, $args );
+
+ $classes = empty( $object->classes ) ? array() : (array) $object->classes;
+
+ if ( in_array( 'label', $classes ) ) {
+ $item_html = preg_replace( '/<a[^>]*>(.*)<\/a>/iU', '<label>$1</label>', $item_html );
+ }
+
+ $output .= $item_html;
+ }
+
+ function start_lvl( &$output, $depth = 0, $args = array() ) {
+ $output .= "\n<ul class=\"children\">\n";
+ }
+
+ function end_lvl(&$output, $depth = 0, $args = array()){
+ $output .= '</ul>';
+ }
+
+}
+endif;
+
function is_post_type($type){
global $wp_query;
if($type == get_post_type($wp_query->post->ID)) return true;