![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/www/wp-content/themes/dt-the7/inc/helpers/ |
<?php /** * Menu helpers. * * @package the7/helpers * @since 3.0.0 */ // File Security Check if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! function_exists( 'presscore_get_primary_menu_class' ) ) : /** * Primary menu wrap classes. * * @param string|array $class * @return array */ function presscore_get_primary_menu_class( $class = '' ) { $classes = presscore_split_classes( $class ); $config = presscore_config(); switch( $config->get( 'header.menu.decoration.style' ) ) { case 'underline': $classes[] = 'underline-decoration'; $classes[] = the7_array_match( $config->get( 'header.menu.decoration.style.underline.direction' ), array( 'left_to_right' => 'l-to-r-line', 'from_center' => 'from-centre-line', 'upwards' => 'upwards-line', 'downwards' => 'downwards-line', ) ); break; case 'other': $classes[] = 'bg-outline-decoration'; $classes[] = the7_array_match( $config->get( 'header.menu.decoration.style.other.hover.style' ), array( 'outline' => 'hover-outline-decoration', 'background' => 'hover-bg-decoration', ) ); if ( $config->get( 'header.menu.decoration.style.other.hover.line.enabled' ) ) { $classes[] = 'hover-line-decoration'; } $classes[] = the7_array_match( $config->get( 'header.menu.decoration.style.other.active.style' ), array( 'outline' => 'active-outline-decoration', 'background' => 'active-bg-decoration', ) ); if ( $config->get( 'header.menu.decoration.style.other.active.line.enabled' ) ) { $classes[] = 'active-line-decoration'; } break; } if ( presscore_is_gradient_color_mode( $config->get( 'header.menu.hover.color.style' ) ) ) { $classes[] = 'gradient-hover'; } if ( $config->get( 'header.menu.show_next_lvl_icons' ) ) { $classes[] = 'level-arrows-on'; } $classes[] = the7_array_match( $config->get( 'header.menu.items.margins.style' ), array( 'double' => 'outside-item-double-margin', 'custom' => 'outside-item-custom-margin', 'disabled' => 'outside-item-remove-margin', ) ); $classes = apply_filters( 'presscore_primary_menu_class', $classes ); return presscore_sanitize_classes( $classes ); } endif; if ( ! function_exists( 'presscore_get_primary_submenu_class' ) ) : /** * Primary menu submenu classes. * * @param string|array $class * @return array */ function presscore_get_primary_submenu_class( $class = '' ) { $classes = presscore_split_classes( $class ); $config = presscore_config(); if ( presscore_is_gradient_color_mode( $config->get( 'header.menu.submenu.hover.color.style' ) ) ) { $classes[] = 'gradient-hover'; } $classes[] = the7_array_match( $config->get( 'header.menu.submenu.background.hover.style' ), array( 'background' => 'hover-style-bg', ) ); if ( $config->get( 'header.menu.submenu.show_next_lvl_icons' ) ) { $classes[] = 'level-arrows-on'; } $classes = apply_filters( 'presscore_primary_submenu_class', $classes ); return presscore_sanitize_classes( $classes ); } endif; if ( ! function_exists( 'presscore_nav_menu_list' ) ) : /** * Display secondary nav menu. * * @since 3.0.0 * * @param string $location Menu location. * @param array $args Arguments like * array( * 'menu_wrap_class' => '', * 'before_menu_name' => '', * 'after_menu_name' => '', * 'submenu_class' => 'sub-nav', * ). */ function presscore_nav_menu_list( $location, $args = array() ) { $locations = get_nav_menu_locations(); $menu = isset( $locations[ $location ] ) ? wp_get_nav_menu_object( $locations[ $location ] ) : null; if ( ! $menu ) { return; } $args = wp_parse_args( $args, array( 'menu_wrap_class' => '', 'before_menu_name' => '', 'after_menu_name' => '', 'submenu_class' => 'sub-nav', ) ); $classes = presscore_split_classes( $args['menu_wrap_class'] ); array_unshift( $classes, 'mini-nav' ); echo '<div class="' . esc_attr( implode( ' ', $classes ) ) . '">'; presscore_nav_menu( array( 'theme_location' => $location, 'items_wrap' => '<ul id="' . esc_attr( "{$location}-menu" ) . '">%3$s</ul>', 'submenu_class' => $args['submenu_class'], 'parent_is_clickable' => true, 'fallback_cb' => '', ) ); echo '<div class="menu-select"><span class="customSelect1"><span class="customSelectInner">' . $args['before_menu_name'] . esc_html( $menu->name ) . $args['after_menu_name'] . '</span></span></div>'; echo '</div>'; } endif; if ( ! function_exists( 'presscore_primary_nav_menu' ) ) : /** * Display theme primary nav menu. * * @since 3.0.0 * @param string $location */ function presscore_primary_nav_menu( $location ) { do_action( 'presscore_primary_nav_menu_before' ); presscore_nav_menu( array( 'theme_location' => $location, 'items_wrap' => '%3$s', 'submenu_class' => implode( ' ', presscore_get_primary_submenu_class( 'sub-nav' ) ), 'parent_is_clickable' => presscore_config()->get( 'header.menu.submenu.parent_clickable' ), ) ); do_action( 'presscore_primary_nav_menu_after' ); } endif; if ( ! function_exists( 'presscore_has_mobile_menu' ) ) : /** * This helper checks if a page has mobile menu on it. * * @since 3.0.0 * @return boolean */ function presscore_has_mobile_menu() { return apply_filters( 'presscore_has_mobile_menu', has_nav_menu( 'mobile' ) ); } endif; /** * Display mobile nav menu. * * @since 7.6.0 * * @param string $location Menu location to display. */ function the7_display_mobile_menu( $location ) { do_action( 'presscore_primary_nav_menu_before' ); presscore_nav_menu( [ 'theme_location' => $location, 'items_wrap' => '%3$s', 'submenu_class' => implode( ' ', presscore_get_primary_submenu_class( 'sub-nav' ) ), 'parent_is_clickable' => presscore_config()->get( 'header.menu.submenu.parent_clickable' ), 'walker' => new The7_Walker_Nav_Menu_Mobile(), ] ); do_action( 'presscore_primary_nav_menu_after' ); } /** * Return menu cache key based on $args. * * @since 6.4.0 * * @param array $args Some array. * * @return string */ function the7_get_menu_cache_key( $args ) { $args['walker'] = get_class( $args['walker'] ); return 'the7_menu_cache-' . md5( wp_json_encode( $args ) ); } if ( ! function_exists( 'presscore_nav_menu' ) ) : /** * @param array $args Arguments. * * @return void|string */ function presscore_nav_menu( $args = array() ) { $args = wp_parse_args( $args, [ 'theme_location' => 'primary', 'container' => false, 'container_class' => false, 'menu_class' => false, 'menu_id' => 'mainmenu', 'fallback_cb' => 'presscore_page_menu', 'before' => '', 'after' => '', 'items_wrap' => '<ul id="%1$s">%3$s</ul>', 'echo' => true, 'submenu_class' => 'sub-nav', 'parent_is_clickable' => true, ] ); $args = apply_filters( 'presscore_nav_menu_args', $args ); if ( empty( $args['walker'] ) ) { $args['walker'] = new The7_Walker_Nav_Menu(); } $nav_menu = apply_filters( 'presscore_pre_nav_menu', null, $args ); if ( null !== $nav_menu ) { if ( $args['echo'] ) { echo $nav_menu; return; } return $nav_menu; } $_args = $args; $_args['echo'] = false; $html = wp_nav_menu( $_args ); if ( $args['echo'] ) { echo $html; } else { return $html; } } endif; if ( ! function_exists( 'presscore_page_menu' ) ) : function presscore_page_menu( $args = array() ) { $defaults = array( 'sort_column' => 'menu_order, post_title', 'container_class' => 'nav-bg', 'menu_id' => 'nav', 'echo' => false, 'link_before' => '', 'link_after' => '', ); $args = wp_parse_args( $args, $defaults ); $args = apply_filters( 'wp_page_menu_args', $args ); $menu = ''; $list_args = $args; $list_args['echo'] = false; $list_args['title_li'] = ''; $list_args['walker'] = new The7_Walker_Page(); $menu .= str_replace( array( "\r", "\n", "\t" ), '', wp_list_pages( $list_args ) ); if ( isset( $menu ) ) { $menu = sprintf( $args['items_wrap'], $args['menu_id'], $args['menu_class'], $menu ); } $menu = apply_filters( 'wp_page_menu', $menu, $args ); if ( $args['echo'] ) { echo $menu; return; } else { return $menu; } } endif;