Файловый менеджер - Редактировать - /home/neurocs/www/nav-menu.tar
Назад
mkdf-menu.php 0000644 00000005205 15010451104 0007131 0 ustar 00 <?php // add custom menu fields to menu add_filter( 'wp_setup_nav_menu_item', 'mediclinic_mikado_add_custom_nav_fields'); // save menu custom fields add_action( 'wp_update_nav_menu_item', 'mediclinic_mikado_update_custom_nav_fields', 10, 3 ); // edit menu walker add_filter( 'wp_edit_nav_menu_walker', 'mediclinic_mikado_edit_walker', 10, 2 ); function mediclinic_mikado_add_custom_nav_fields( $menu_item ) { $menu_item->anchor = get_post_meta( $menu_item->ID, '_menu_item_anchor', true ); $menu_item->nolink = get_post_meta( $menu_item->ID, '_menu_item_nolink', true ); $menu_item->hide = get_post_meta( $menu_item->ID, '_menu_item_hide', true ); $menu_item->type_menu = get_post_meta( $menu_item->ID, '_menu_item_type_menu', true ); $menu_item->icon = get_post_meta( $menu_item->ID, '_menu_item_icon', true ); $menu_item->icon_pack = get_post_meta( $menu_item->ID, '_menu_item_icon_pack', true ); $menu_item->sidebar = get_post_meta( $menu_item->ID, '_menu_item_sidebar', true ); $menu_item->wide_position = get_post_meta( $menu_item->ID, '_menu_item_wide_position', true ); $menu_item->featured_icon = get_post_meta( $menu_item->ID, '_menu_item_featured_icon', true ); return $menu_item; } /** * Save menu custom fields * * @access public * @since 1.0 * @return void */ function mediclinic_mikado_update_custom_nav_fields( $menu_id, $menu_item_db_id, $args ) { $check = array('anchor', 'nolink', 'hide', 'type_menu', 'icon', 'icon_pack', 'sidebar', 'wide_position', 'featured_icon'); if(isset($_POST['mkd_menu_options'])) { parse_str(urldecode($_POST['mkd_menu_options']), $parse_array); foreach ( $check as $key ){ if(!isset($parse_array['menu_item_'.$key.'_'.$menu_item_db_id])) { $parse_array['menu_item_'.$key.'_'.$menu_item_db_id] = ""; } $value = $parse_array['menu_item_'.$key.'_'.$menu_item_db_id]; update_post_meta( $menu_item_db_id, '_menu_item_'.$key, $value ); } } } /** * Define new Walker edit * * @access public * @since 1.0 * @return void */ function mediclinic_mikado_edit_walker($walker,$menu_id) { return 'MediclinicMikado_Walker_Nav_Menu_Edit_Custom'; } include_once MIKADO_ROOT_DIR.'/includes/nav-menu/edit_custom_walker.php'; /** * Include custom walkers */ include_once MIKADO_ROOT_DIR.'/includes/nav-menu/top-navigation-walker.php'; include_once MIKADO_ROOT_DIR.'/includes/nav-menu/mobile-navigation-walker.php'; include_once MIKADO_ROOT_DIR.'/includes/nav-menu/fullscreen-navigation-walker.php'; include_once MIKADO_ROOT_DIR.'/includes/nav-menu/sticky-navigation-walker.php'; include_once MIKADO_ROOT_DIR.'/includes/nav-menu/vertical-compact-navigation-walker.php'; mobile-navigation-walker.php 0000644 00000006310 15010451104 0012133 0 ustar 00 <?php if (!class_exists('MediclinicMikadoMobileNavigationWalker')) { class MediclinicMikadoMobileNavigationWalker extends Walker_Nav_Menu { // add classes to ul sub-menus function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) { $id_field = $this->db_fields['id']; if ( is_object( $args[0] ) ) { $args[0]->has_children = ! empty( $children_elements[$element->$id_field] ); } return parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); } function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); // build html $output .= "\n" . $indent .'<ul class="sub_menu">' . "\n"; } function end_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "$indent</ul>" ."\n"; } // add main/sub classes to li's and links function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $sub = ""; $indent = ( $depth > 0 ? str_repeat( "\t", $depth ) : '' ); // code indent if($depth >=0 && $args->has_children) : $sub = ' has_sub'; endif; // passed classes $classes = empty( $item->classes ) ? array() : (array) $item->classes; $class_names = esc_attr( implode( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ) ); $anchor = ''; if($item->anchor != ""){ $anchor = '#'.esc_attr($item->anchor); } $active = ""; // depth dependent classes if ($item->anchor == "" && (($item->current && $depth == 0) || ($item->current_item_ancestor && $depth == 0))): $active = 'mkdf-active-item'; endif; // build html $output .= $indent . '<li id="mobile-menu-item-'. $item->ID . '" class="' . $class_names . ' ' . $active . $sub .'">'; $current_a = ""; // link attributes $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ' href="' . esc_url( $item->url ) .$anchor.'"'; if (($item->current && $depth == 0) || ($item->current_item_ancestor && $depth == 0) ): $current_a .= ' current '; endif; if(esc_attr( $item->url ) === '#') { $current_a .= ' mkdf-mobile-no-link'; } $attributes .= ' class="'. $current_a . '"'; $item_output = $args->before; if($item->hide == ""){ if($item->nolink == ""){ $item_output .= '<a'. $attributes .'>'; }else{ $item_output .= '<h6>'; } $item_output .= $args->link_before .apply_filters( 'the_title', $item->title, $item->ID ); $item_output .= $args->link_after; if($item->nolink == ""){ $item_output .= '</a>'; } else { $item_output .= '</h6>'; } if($args->has_children) { $item_output .= '<span class="mobile_arrow"><i class="mkdf-sub-arrow fa fa-angle-right"></i><i class="fa fa-angle-down"></i></span>'; } } $item_output .= $args->after; // build html $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } } } top-navigation-walker.php 0000644 00000012126 15010451104 0011470 0 ustar 00 <?php if (!class_exists('MediclinicMikadoTopNavigationWalker')) { class MediclinicMikadoTopNavigationWalker extends Walker_Nav_Menu { // add classes to ul sub-menus function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ){ $id_field = $this->db_fields['id']; if ( is_object( $args[0] ) ) { $args[0]->has_children = ! empty( $children_elements[$element->$id_field] ); } return parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); } function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); if($depth == 0){ $out_div = '<div class="second"><div class="inner">'; }else{ $out_div = ''; } // build html $output .= "\n" . $indent . $out_div .'<ul>' . "\n"; } function end_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); if($depth == 0){ $out_div_close = '</div></div>'; }else{ $out_div_close = ''; } $output .= "$indent</ul>". $out_div_close ."\n"; } // add main/sub classes to li's and links function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $sub = ""; $indent = ( $depth > 0 ? str_repeat( "\t", $depth ) : '' ); // code indent if($depth==0 && $args->has_children) : $sub = ' has_sub'; endif; if($depth==1 && $args->has_children) : $sub = 'sub'; endif; // passed classes $classes = empty( $item->classes ) ? array() : (array) $item->classes; $class_names = esc_attr( implode( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ) ); //menu type class $menu_type = ""; if($depth==0){ if($item->type_menu == "wide"){ $menu_type = " wide"; } else { $menu_type = " narrow"; } } //wide menu position class $wide_menu_position = ""; if($depth==0){ if($item->wide_position == "right"){ $wide_menu_position = " right_position"; }elseif($item->wide_position == "left"){ $wide_menu_position = " left_position"; }else{ $wide_menu_position = ""; } } $anchor = ''; if($item->anchor != ""){ $anchor = '#'.esc_attr($item->anchor); $class_names .= ' anchor-item'; } $active = ""; // depth dependent classes if ($item->anchor == "" && (($item->current && $depth == 0) || ($item->current_item_ancestor && $depth == 0))): $active = 'mkdf-active-item'; endif; // build html $output .= $indent . '<li id="nav-menu-item-'. $item->ID . '" class="' . $class_names . ' '. $active . $sub . $menu_type . $wide_menu_position .'">'; $current_a = ""; // link attributes $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ' href="' . esc_url( $item->url ) .$anchor.'"'; if (($item->current && $depth == 0) || ($item->current_item_ancestor && $depth == 0) ): $current_a .= ' current '; endif; $no_link_class = ''; if($item->nolink != '') { $no_link_class = ' no_link'; } $no_icon_class = ''; if($item->icon_pack != "" && $item->icon != "") { $no_icon_class = ' has_icon'; } $attributes .= ' class="'.$current_a.$no_link_class.$no_icon_class.'"'; $item_output = $args->before; if($item->hide == ""){ if($item->nolink == ""){ $item_output .= '<a'. $attributes .'><span class="item_outer">'; } else{ $item_output .= '<a'. $attributes .' onclick="JavaScript: return false;"><span class="item_outer">'; } $icon = ''; if($item->icon !== "" && $item->icon !== 'null') { $icon = $item->icon; } $icon_pack = 'font_awesome'; if(empty($this->icon_pack)) { $item->icon_pack = $icon_pack; } if($icon !== '') { if($item->icon_pack == 'font_awesome') { $icon .= ' fa'; } $item_output .= '<span class="menu_icon_wrapper"><i class="menu_icon '.$icon.'"></i></span>'; } $item_output .= '<span class="item_text">'; $item_output .= apply_filters('the_title', $item->title, $item->ID); $featured_icon = ''; if($item->featured_icon !== ""){ $featured_icon .= '<i class="mkdf-menu-featured-icon fa '.$item->featured_icon .'"></i>'; } $item_output .= $featured_icon; $item_output .= '</span>'; //close span.item_text //append arrow for dropdown if($args->has_children && $depth == 0) { $item_output .= '<i class="mkdf-menu-arrow fa fa-angle-down"></i>'; } $item_output .= '</span></a>'; } if($item->sidebar != "" && $depth > 0){ ob_start(); dynamic_sidebar($item->sidebar); $sidebar_content = ob_get_contents(); ob_end_clean(); $item_output .= $sidebar_content; } $item_output .= $args->after; // build html $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } } } edit_custom_walker.php 0000644 00000052015 15010451104 0011133 0 ustar 00 <?php /** * /!\ This is a copy of Walker_Nav_Menu_Edit class in core * * Create HTML list of nav menu input items. * * @package WordPress * @since 3.0.0 * @uses Walker_Nav_Menu */ class MediclinicMikado_Walker_Nav_Menu_Edit_Custom extends Walker_Nav_Menu { /** * @see Walker_Nav_Menu::start_lvl() * @since 3.0.0 * * @param string $output Passed by reference. */ function start_lvl( &$output, $depth = 0, $args = array() ) { } /** * @see Walker_Nav_Menu::end_lvl() * @since 3.0.0 * * @param string $output Passed by reference. */ function end_lvl( &$output, $depth = 0, $args = array() ) { } /** * @see Walker::start_el() * @since 3.0.0 * * @param string $output Passed by reference. Used to append additional content. * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param object $args */ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { global $_wp_nav_menu_max_depth; $_wp_nav_menu_max_depth = $depth > $_wp_nav_menu_max_depth ? $depth : $_wp_nav_menu_max_depth; ob_start(); $item_id = esc_attr( $item->ID ); $removed_args = array( 'action', 'customlink-tab', 'edit-menu-item', 'menu-item', 'page-tab', '_wpnonce', ); $original_title = ''; if ( 'taxonomy' == $item->type ) { $original_title = get_term_field( 'name', $item->object_id, $item->object, 'raw' ); if ( is_wp_error( $original_title ) ) $original_title = false; } elseif ( 'post_type' == $item->type ) { $original_object = get_post( $item->object_id ); $original_title = $original_object->post_title; } $classes = array( 'menu-item menu-item-depth-' . $depth, 'menu-item-' . esc_attr( $item->object ), 'menu-item-edit-' . ( ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? 'active' : 'inactive'), ); $title = $item->title; if ( ! empty( $item->_invalid ) ) { $classes[] = 'menu-item-invalid'; /* translators: %s: title of menu item which is invalid */ $title = sprintf( esc_html__( '%s (Invalid)', 'mediclinic' ), $item->title ); } elseif ( isset( $item->post_status ) && 'draft' == $item->post_status ) { $classes[] = 'pending'; /* translators: %s: title of menu item in draft status */ $title = sprintf( esc_html__('%s (Pending)', 'mediclinic'), $item->title ); } $title = empty( $item->label ) ? $title : $item->label; ?> <li id="menu-item-<?php echo esc_attr($item_id); ?>" class="<?php echo esc_attr(implode(' ', $classes )); ?>"> <dl class="menu-item-bar"> <dt class="menu-item-handle"> <span class="item-title"><?php echo esc_html( $title ); ?></span> <span class="item-controls"> <span class="spinner"></span> <span class="item-type"><?php echo esc_html( $item->type_label ); ?></span> <span class="item-order hide-if-js"> <a href="<?php echo esc_url(wp_nonce_url( add_query_arg( array( 'action' => 'move-up-menu-item', 'menu-item' => $item_id, ), remove_query_arg($removed_args, admin_url( 'nav-menus.php' ) ) ), 'move-menu_item' )); ?>" class="item-move-up"><abbr title="<?php esc_attr_e('Move up', 'mediclinic'); ?>">↑</abbr></a> | <a href="<?php echo esc_url(wp_nonce_url( add_query_arg( array( 'action' => 'move-down-menu-item', 'menu-item' => $item_id, ), remove_query_arg($removed_args, admin_url( 'nav-menus.php' ) ) ), 'move-menu_item' )); ?>" class="item-move-down"><abbr title="<?php esc_attr_e('Move down', 'mediclinic'); ?>">↓</abbr></a> </span> <a class="item-edit" id="edit-<?php echo esc_attr($item_id); ?>" title="<?php esc_attr_e('Edit Menu Item', 'mediclinic'); ?>" href="<?php echo ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? admin_url( 'nav-menus.php' ) : esc_url(add_query_arg( 'edit-menu-item', $item_id, remove_query_arg( $removed_args, admin_url( 'nav-menus.php#menu-item-settings-' . $item_id ) ) )); ?>"><?php esc_html_e( 'Edit Menu Item', 'mediclinic' ); ?></a> </span> </dt> </dl> <div class="menu-item-settings wp-clearfix" id="menu-item-settings-<?php echo esc_attr($item_id); ?>"> <?php if( 'custom' == $item->type ) : ?> <p class="field-url description description-wide"> <label for="edit-menu-item-url-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'URL', 'mediclinic' ); ?><br /> <input type="text" id="edit-menu-item-url-<?php echo esc_attr($item_id); ?>" class="widefat code edit-menu-item-url" name="menu-item-url[<?php echo esc_attr($item_id); ?>]" value="<?php echo esc_attr( $item->url ); ?>" /> </label> </p> <?php endif; ?> <p class="description description-thin"> <label for="edit-menu-item-title-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'Navigation Label', 'mediclinic' ); ?><br /> <input type="text" id="edit-menu-item-title-<?php echo esc_attr($item_id); ?>" class="widefat edit-menu-item-title" name="menu-item-title[<?php echo esc_attr($item_id); ?>]" value="<?php echo esc_attr( $item->title ); ?>" /> </label> </p> <p class="description description-thin"> <label for="edit-menu-item-attr-title-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'Title Attribute', 'mediclinic' ); ?><br /> <input type="text" id="edit-menu-item-attr-title-<?php echo esc_attr($item_id); ?>" class="widefat edit-menu-item-attr-title" name="menu-item-attr-title[<?php echo esc_attr($item_id); ?>]" value="<?php echo esc_attr( $item->post_excerpt ); ?>" /> </label> </p> <p class="field-link-target description"> <label for="edit-menu-item-target-<?php echo esc_attr($item_id); ?>"> <input type="checkbox" id="edit-menu-item-target-<?php echo esc_attr($item_id); ?>" value="_blank" name="menu-item-target[<?php echo esc_attr($item_id); ?>]"<?php checked( $item->target, '_blank' ); ?> /> <?php esc_html_e( 'Open link in a new window/tab', 'mediclinic' ); ?> </label> </p> <p class="field-css-classes description description-thin"> <label for="edit-menu-item-classes-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'CSS Classes (optional)', 'mediclinic' ); ?><br /> <input type="text" id="edit-menu-item-classes-<?php echo esc_attr($item_id); ?>" class="widefat code edit-menu-item-classes" name="menu-item-classes[<?php echo esc_attr($item_id); ?>]" value="<?php echo esc_attr( implode(' ', $item->classes ) ); ?>" /> </label> </p> <p class="field-xfn description description-thin"> <label for="edit-menu-item-xfn-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'Link Relationship (XFN)', 'mediclinic' ); ?><br /> <input type="text" id="edit-menu-item-xfn-<?php echo esc_attr($item_id); ?>" class="widefat code edit-menu-item-xfn" name="menu-item-xfn[<?php echo esc_attr($item_id); ?>]" value="<?php echo esc_attr( $item->xfn ); ?>" /> </label> </p> <p class="field-description description description-wide"> <label for="edit-menu-item-description-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'Description', 'mediclinic' ); ?><br /> <textarea id="edit-menu-item-description-<?php echo esc_attr($item_id); ?>" class="widefat edit-menu-item-description" rows="3" cols="20" name="menu-item-description[<?php echo esc_attr($item_id); ?>]"><?php echo esc_html( $item->description ); // textarea_escaped ?></textarea> <span class="description"><?php esc_html_e('The description will be displayed in the menu if the current theme supports it.', 'mediclinic'); ?></span> </label> </p> <?php /* New fields insertion starts here */ ?> <p class="field-custom description description-thin description-thin-custom"> <label for="edit-menu-item-anchor-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'Anchor', 'mediclinic' ); ?><br /> <input type="text" id="edit-menu-item-anchor-<?php echo esc_attr($item_id); ?>" class="widefat code edit-menu-item-anchor" data-item-option data-name="menu_item_anchor_<?php echo esc_attr($item_id); ?>" value="<?php echo esc_attr( $item->anchor ); ?>" /> </label> </p> <p class="field-custom description description-wide"> <?php $value = $item->nolink; if($value != "") $value = "checked"; ?> <label for="edit-menu-item-nolink-<?php echo esc_attr($item_id); ?>"> <input type="checkbox" id="edit-menu-item-nolink-<?php echo esc_attr($item_id); ?>" class="code edit-menu-item-custom" data-item-option data-name="menu_item_nolink_<?php echo esc_attr($item_id); ?>" value="nolink" <?php echo esc_attr($value); ?> /> <?php esc_html_e( "Don't link", 'mediclinic' ); ?> </label> </p> <p class="field-custom description description-wide"> <?php $value = $item->hide; if($value != "") $value = "checked"; ?> <label for="edit-menu-item-hide-<?php echo esc_attr($item_id); ?>"> <input type="checkbox" id="edit-menu-item-hide-<?php echo esc_attr($item_id); ?>" class="code edit-menu-item-custom" data-item-option data-name="menu_item_hide_<?php echo esc_attr($item_id); ?>" value="hide" <?php echo esc_attr($value); ?> /> <?php esc_html_e( "Don't show", 'mediclinic' ); ?> </label> </p> <?php if($depth == 0) { ?> <p class="field-custom description description-thin description-thin-custom"> <label for="edit-menu-item-type-menu-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'Type', 'mediclinic' ); ?><br /> <select class="widefat" id="edit-menu-item-type-menu<?php echo esc_attr($item_id); ?>" data-item-option data-name="menu_item_type_menu_<?php echo esc_attr($item_id); ?>"> <option value="" <?php if($item->type_menu == ""){echo 'selected="selected"';} ?>></option> <option value="wide" <?php if($item->type_menu == "wide"){echo 'selected="selected"';} ?>><?php esc_html_e( 'wide', 'mediclinic' ); ?></option> </select> </label> </p> <p class="field-custom description description-thin description-thin-custom"> <label for="edit-menu-item-wide-position-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'Wide menu position', 'mediclinic' ); ?><br /> <select class="widefat" id="edit-menu-item-wide-position<?php echo esc_attr($item_id); ?>" data-item-option data-name="menu_item_wide_position_<?php echo esc_attr($item_id); ?>"> <option value="" <?php if($item->wide_position == ""){echo 'selected="selected"';} ?>></option> <option value="left" <?php if($item->wide_position == "left"){echo 'selected="selected"';} ?>><?php esc_html_e( 'left', 'mediclinic' ); ?></option> <option value="right" <?php if($item->wide_position == "right"){echo 'selected="selected"';} ?>><?php esc_html_e( 'right', 'mediclinic' ); ?></option> </select> </label> </p> <?php } ?> <?php $iconCollections = mediclinic_mikado_icon_collections()->getIconCollectionsEmpty(); if(is_array($iconCollections) && count($iconCollections)) { ?> <p class="field-custom description description-thin description-thin-custom"> <label for="edit-menu-item-icon-pack-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'Icon Pack', 'mediclinic' ); ?><br /> <select class="widefat" id="edit-menu-item-icon-pack-<?php echo esc_attr($item_id); ?>" data-item-option data-item-id="<?php echo esc_attr($item_id); ?>" data-icon-pack data-name="menu_item_icon_pack_<?php echo esc_attr($item_id); ?>"> <?php foreach ($iconCollections as $collectionKey => $collectionTitle) { ?> <option value="<?php echo esc_attr($collectionKey); ?>" <?php if($item->icon_pack == $collectionKey){echo 'selected="selected"';} ?>><?php echo esc_html($collectionTitle); ?></option> <?php } ?> </select> <br/><?php esc_html_e( 'Only with "default" & "wide with icons" menu types', 'mediclinic' ); ?> </label> </p> <?php $icon_data_attr = 'menu_item_icon_'.$item_id; $collection_obj = mediclinic_mikado_icon_collections()->getIconCollection($item->icon_pack); ?> <p class="field-custom description description-thin description-thin-custom mkdf-icon-select-holder"> <label for="edit-menu-item-icon-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'Icon', 'mediclinic' ); ?><br /> <select class="widefat" id="edit-menu-item-icon<?php echo esc_attr($item_id); ?>" data-item-option data-name="<?php echo esc_attr($icon_data_attr); ?>"> <?php if($collection_obj) { ?> <?php $icons_array = $collection_obj->getIconsArray(); foreach ($icons_array as $key => $value) { ?> <option value="<?php echo esc_attr($key); ?>" <?php if($item->icon == $key){echo 'selected="selected"';} ?>><?php echo esc_html($key); ?></option> <?php } ?> <?php } ?> </select> </label> </p> <?php } ?> <p class="field-custom description description-thin description-thin-custom" style="clear:both;"> <label for="edit-menu-item-featured-icon-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'Featured Icon', 'mediclinic' ); ?><br /> <select class="widefat" id="edit-menu-item-featured-icon<?php echo esc_attr($item_id); ?>" data-item-option data-name="menu_item_featured_icon_<?php echo esc_attr($item_id); ?>"> <option value="" <?php if($item->featured_icon == ""){echo 'selected="selected"';} ?>></option> <option value="fa-star" <?php if($item->featured_icon == "fa-star"){echo 'selected="selected"';} ?>><?php esc_html_e('Star', 'mediclinic'); ?></option> <option value="fa-paw" <?php if($item->featured_icon == "fa-paw"){echo 'selected="selected"';} ?>><?php esc_html_e('Paw', 'mediclinic'); ?></option> <option value="fa-heart " <?php if($item->featured_icon == "fa-heart "){echo 'selected="selected"';} ?>><?php esc_html_e('Heart', 'mediclinic'); ?></option> <option value="fa-thumbs-up " <?php if($item->featured_icon == "fa-thumbs-up "){echo 'selected="selected"';} ?>><?php esc_html_e('Thumbs Up', 'mediclinic'); ?></option> </select> </label> </p> <p class="field-custom description description-thin description-thin-custom"> </p> <p class="field-custom description description-wide"> <label for="edit-menu-item-sidebar-<?php echo esc_attr($item_id); ?>"> <?php esc_html_e( 'Custom widget area', 'mediclinic' ); ?><br /> <select class="widefat" id="edit-menu-item-sidebar<?php echo esc_attr($item_id); ?>" data-item-option data-name="menu_item_sidebar_<?php echo esc_attr($item_id); ?>"> <option value="" <?php if($item->sidebar == ""){echo 'selected="selected"';} ?>></option> <?php $mediclinic_custom_sidebars = mediclinic_mikado_get_custom_sidebars(); foreach ($mediclinic_custom_sidebars as $sidebar_key => $sidebar) { ?> <option value="<?php echo esc_attr($sidebar_key); ?>" <?php if ($item->sidebar == $sidebar_key) { ?> selected="selected" <?php } ?>> <?php echo esc_html(ucwords( $sidebar )); ?> </option> <?php } ?> </select> <br/><?php esc_html_e( 'Only with "wide & wide with icons" menu type', 'mediclinic' ); ?> </label> </p> <?php /* New fields insertion ends here */ ?> <div class="menu-item-actions description-wide submitbox"> <?php if( 'custom' != $item->type && $original_title !== false ) : ?> <p class="link-to-original"> <?php printf( esc_html__('Original: %s', 'mediclinic'), '<a href="' . esc_url( $item->url ) . '">' . esc_html( $original_title ) . '</a>' ); ?> </p> <?php endif; ?> <a class="item-delete submitdelete deletion" id="delete-<?php echo esc_attr($item_id); ?>" href="<?php echo esc_url(wp_nonce_url( add_query_arg( array( 'action' => 'delete-menu-item', 'menu-item' => $item_id, ), remove_query_arg($removed_args, admin_url( 'nav-menus.php' ) ) ), 'delete-menu_item_' . $item_id )); ?>"><?php esc_html_e('Remove', 'mediclinic'); ?></a> <span class="meta-sep"> | </span> <a class="item-cancel submitcancel" id="cancel-<?php echo esc_attr($item_id); ?>" href="<?php echo esc_url( add_query_arg( array('edit-menu-item' => $item_id, 'cancel' => time()), remove_query_arg( $removed_args, admin_url( 'nav-menus.php' ) ) ) ); ?>#menu-item-settings-<?php echo esc_attr($item_id); ?>"><?php esc_html_e('Cancel', 'mediclinic'); ?></a> </div> <input class="menu-item-data-db-id" type="hidden" name="menu-item-db-id[<?php echo esc_attr($item_id); ?>]" value="<?php echo esc_attr($item_id); ?>" /> <input class="menu-item-data-object-id" type="hidden" name="menu-item-object-id[<?php echo esc_attr($item_id); ?>]" value="<?php echo esc_attr( $item->object_id ); ?>" /> <input class="menu-item-data-object" type="hidden" name="menu-item-object[<?php echo esc_attr($item_id); ?>]" value="<?php echo esc_attr( $item->object ); ?>" /> <input class="menu-item-data-parent-id" type="hidden" name="menu-item-parent-id[<?php echo esc_attr($item_id); ?>]" value="<?php echo esc_attr( $item->menu_item_parent ); ?>" /> <input class="menu-item-data-position" type="hidden" name="menu-item-position[<?php echo esc_attr($item_id); ?>]" value="<?php echo esc_attr( $item->menu_order ); ?>" /> <input class="menu-item-data-type" type="hidden" name="menu-item-type[<?php echo esc_attr($item_id); ?>]" value="<?php echo esc_attr( $item->type ); ?>" /> </div><!-- .menu-item-settings--> <ul class="menu-item-transport"></ul> <?php $output .= ob_get_clean(); } } fullscreen-navigation-walker.php 0000644 00000005777 15010451104 0013046 0 ustar 00 <?php if (!class_exists('MediclinicMikadoFullscreenNavigationWalker')) { class MediclinicMikadoFullscreenNavigationWalker extends Walker_Nav_Menu { // add classes to ul sub-menus function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ){ $id_field = $this->db_fields['id']; if ( is_object( $args[0] ) ) { $args[0]->has_children = ! empty( $children_elements[$element->$id_field] ); } return parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); } function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); // build html $output .= "\n" . $indent .'<ul class="sub_menu">' . "\n"; } function end_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "$indent</ul>" ."\n"; } // add main/sub classes to li's and links function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $sub = ""; $indent = ( $depth > 0 ? str_repeat( "\t", $depth ) : '' ); // code indent if($depth >=0 && $args->has_children) : $sub = ' has_sub'; endif; // passed classes $classes = empty( $item->classes ) ? array() : (array) $item->classes; $class_names = esc_attr( implode( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ) ); $anchor = ''; if($item->anchor != ""){ $anchor = '#'.esc_attr($item->anchor); } $active = ""; // depth dependent classes if ($item->anchor == "" && (($item->current && $depth == 0) || ($item->current_item_ancestor && $depth == 0))): $active = 'mkdf-active-item'; endif; // build html $output .= $indent . '<li id="popup-menu-item-'. $item->ID . '" class="' . $class_names . ' ' . $active . $sub .'">'; $current_a = ""; // link attributes $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ' href="' . esc_url( $item->url ) .$anchor.'"'; if (($item->current && $depth == 0) || ($item->current_item_ancestor && $depth == 0) ): $current_a .= ' current '; endif; $attributes .= ' class="'. $current_a . '"'; $item_output = $args->before; if($item->hide == ""){ if($item->nolink == ""){ $item_output .= '<a'. $attributes .'>'; }else{ $item_output .= '<a href="#">'; } $item_output .= $args->link_before .apply_filters( 'the_title', $item->title, $item->ID ); $item_output .= $args->link_after; if($args->has_children) { $item_output .= '<i class="mkdf-fullscreen-menu-arrow fa fa-angle-down"></i>'; } $item_output .= '</a>'; } $item_output .= $args->after; // build html $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } } } vertical-compact-navigation-walker.php 0000644 00000012255 15010451104 0014126 0 ustar 00 <?php /** * Custom WP_NAV_MENU function for vertical compact navigation */ if(!class_exists('MediclinicMikadoVerticalCompactNavigationWalker')) { class MediclinicMikadoVerticalCompactNavigationWalker extends Walker_Nav_Menu { protected $background_image; // add classes to ul sub-menus function display_element($element, &$children_elements, $max_depth, $depth = 0, $args, &$output) { $id_field = $this->db_fields['id']; if(is_object($args[0])) { $args[0]->has_children = !empty($children_elements[$element->$id_field]); } return parent::display_element($element, $children_elements, $max_depth, $depth, $args, $output); } function start_lvl(&$output, $depth = 0, $args = array()) { $menu_image_background = ''; $background_image_class = ''; if($this->background_image !== '') { $menu_image_background = "background-image:url(".$this->background_image."); background-size: cover; background-repeat: no-repeat; background-position: center;"; $background_image_class = ' mkdf-dropdown-with-background-image'; } $indent = str_repeat("\t", $depth); if($depth == 0) { $out_div = '<div class="second '.$background_image_class.'" '.mediclinic_mikado_get_inline_style($menu_image_background).'><div class="inner">'; } else { $out_div = ''; } // build html $output .= "\n".$indent.$out_div.'<ul>'."\n"; } function end_lvl(&$output, $depth = 0, $args = array()) { $indent = str_repeat("\t", $depth); if($depth == 0) { $out_div_close = '</div></div>'; } else { $out_div_close = ''; } $output .= "$indent</ul>".$out_div_close."\n"; } // add main/sub classes to li's and links function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) { $sub = ''; $indent = ($depth > 0 ? str_repeat("\t", $depth) : ''); // code indent if($depth == 0 && $args->has_children) : $sub = ' has_sub'; endif; if($depth == 1 && $args->has_children) : $sub = 'sub'; endif; // passed classes $classes = empty($item->classes) ? array() : (array) $item->classes; $this->background_image = !empty($item->background_image) ? $item->background_image : ''; $class_names = esc_attr(implode(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item))); //menu type class $menu_type = ''; if($depth == 0) { if($item->type_menu == 'wide') { $menu_type = ' wide'; } elseif($item->type_menu == 'wide_icons') { $menu_type = ' wide icons'; } else { $menu_type = ' narrow'; } } $anchor = ''; if($item->anchor != '') { $anchor = '#'.esc_attr($item->anchor); $class_names .= ' anchor-item'; } if(!empty($item->icon)) { $class_names .= ' mkdf-menu-item-with-icon'; } if(!empty($item->description)) { $class_names .= ' mkdf-menu-item-with-description'; } $active = ""; // depth dependent classes if($item->anchor == "" && (($item->current && $depth == 0) || ($item->current_item_ancestor && $depth == 0))): $active = 'mkdf-active-item'; endif; // build html $output .= $indent.'<li id="nav-menu-item-'.$item->ID.'" class="'.$class_names.' '.$active.$sub.$menu_type.'">'; $current_a = ""; // link attributes $attributes = !empty($item->attr_title) ? ' title="'.esc_attr($item->attr_title).'"' : ''; $attributes .= !empty($item->target) ? ' target="'.esc_attr($item->target).'"' : ''; $attributes .= !empty($item->xfn) ? ' rel="'.esc_attr($item->xfn).'"' : ''; $attributes .= ' href="'.esc_url($item->url).$anchor.'"'; if(($item->current && $depth == 0) || ($item->current_item_ancestor && $depth == 0)): $current_a .= ' current '; endif; $no_link_class = ''; if($item->nolink != '') { $no_link_class = ' no_link'; } $attributes .= ' class="'.$current_a.$no_link_class.'"'; $item_output = $args->before; if($item->hide == '') { if($item->nolink == '') { $item_output .= '<a'.$attributes.'><span class="item_outer">'; } else { $item_output .= '<a'.$attributes.' onclick="JavaScript: return false;"><span class="item_outer">'; } if(!empty($item->icon)) { $icon = $item->icon; } $angle_icon = ''; if($depth == 1) { $angle_icon = 'fa-angle-right'; } $item_output .= '<span class="item_inner">'; $icon_pack = 'font_awesome'; if(empty($this->icon_pack)) { $item->icon_pack = $icon_pack; } if($item->icon_pack == 'font_awesome' && !empty($icon)) { $icon .= ' fa'; } if(!empty($icon)) { $item_output .= '<span class="menu_icon_wrapper"><i class="menu_icon '.$icon.'"></i></span>'; } $item_output .= '</span>'; //close span.item_inner //append arrow for dropdown if($args->has_children && $angle_icon != "") { $item_output .= '<i class="q_menu_arrow fa '.$angle_icon.'"></i>'; } $item_output .= '</span></a>'; } if($item->sidebar != "" && $depth > 0) { ob_start(); dynamic_sidebar($item->sidebar); $sidebar_content = ob_get_contents(); ob_end_clean(); $item_output .= $sidebar_content; } $item_output .= $args->after; // build html $output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args); } } } sticky-navigation-walker.php 0000644 00000012236 15010451104 0012176 0 ustar 00 <?php if (!class_exists('MediclinicMikadoStickyNavigationWalker')) { class MediclinicMikadoStickyNavigationWalker extends Walker_Nav_Menu { // add classes to ul sub-menus function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) { $id_field = $this->db_fields['id']; if ( is_object( $args[0] ) ) { $args[0]->has_children = ! empty( $children_elements[$element->$id_field] ); } return parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); } function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); if($depth == 0){ $out_div = '<div class="second"><div class="inner">'; }else{ $out_div = ''; } // build html $output .= "\n" . $indent . $out_div .'<ul>' . "\n"; } function end_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); if($depth == 0){ $out_div_close = '</div></div>'; }else{ $out_div_close = ''; } $output .= "$indent</ul>". $out_div_close ."\n"; } // add main/sub classes to li's and links function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $sub = ""; $indent = ( $depth > 0 ? str_repeat( "\t", $depth ) : '' ); // code indent if($depth==0 && $args->has_children) : $sub = ' has_sub'; endif; if($depth==1 && $args->has_children) : $sub = 'sub'; endif; // passed classes $classes = empty( $item->classes ) ? array() : (array) $item->classes; $class_names = esc_attr( implode( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ) ); //menu type class $menu_type = ""; if($depth==0){ if($item->type_menu == "wide") { $menu_type = " wide"; } else { $menu_type = " narrow"; } } //wide menu position class $wide_menu_position = ""; if($depth==0){ if($item->wide_position == "right"){ $wide_menu_position = " right_position"; }elseif($item->wide_position == "left"){ $wide_menu_position = " left_position"; }else{ $wide_menu_position = ""; } } $anchor = ''; if($item->anchor != ""){ $anchor = '#'.esc_attr($item->anchor); $class_names .= ' anchor-item'; } $active = ""; // depth dependent classes if ($item->anchor == "" && (($item->current && $depth == 0) || ($item->current_item_ancestor && $depth == 0))): $active = 'mkdf-active-item'; endif; // build html $output .= $indent . '<li id="sticky-nav-menu-item-'. $item->ID . '" class="' . $class_names . ' '. $active . $sub . $menu_type . $wide_menu_position .'">'; $current_a = ""; // link attributes $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ' href="' . esc_url( $item->url ) .$anchor.'"'; if (($item->current && $depth == 0) || ($item->current_item_ancestor && $depth == 0) ): $current_a .= ' current '; endif; $no_link_class = ''; if($item->nolink != '') { $no_link_class = ' no_link'; } $no_icon_class = ''; if($item->icon_pack != "" && $item->icon != "") { $no_icon_class = ' has_icon'; } $attributes .= ' class="'.$current_a.$no_link_class.$no_icon_class.'"'; $item_output = $args->before; if($item->hide == ""){ if($item->nolink == ""){ $item_output .= '<a'. $attributes .'><span class="item_outer">'; } else{ $item_output .= '<a'. $attributes .' onclick="JavaScript: return false;"><span class="item_outer">'; } $icon = ''; if($item->icon !== "" && $item->icon !== 'null') { $icon = $item->icon; } $icon_pack = 'font_awesome'; if(empty($this->icon_pack)) { $item->icon_pack = $icon_pack; } if($icon !== '') { if($item->icon_pack == 'font_awesome') { $icon .= ' fa'; } $item_output .= '<span class="menu_icon_wrapper"><i class="menu_icon '.$icon.'"></i></span>'; } $item_output .= '<span class="item_text">'; $item_output .= apply_filters('the_title', $item->title, $item->ID); $featured_icon = ''; if($item->featured_icon !== ""){ $featured_icon .= '<i class="mkdf-menu-featured-icon fa '.$item->featured_icon .'"></i>'; } $item_output .= $featured_icon; $item_output .= '</span>'; //close span.item_text $item_output .= '<span class="plus"></span>'; //append arrow for dropdown if($args->has_children && $depth == 0) { $item_output .= '<i class="mkdf-menu-arrow fa fa-angle-down"></i>'; } $item_output .= '</span></a>'; } if($item->sidebar != "" && $depth > 0){ ob_start(); dynamic_sidebar($item->sidebar); $sidebar_content = ob_get_contents(); ob_end_clean(); $item_output .= $sidebar_content; } $item_output .= $args->after; // build html $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка