wp_get_nav_menu_items( $menu_id ) ) && count( $menu ) ) { foreach ( $menu as $item ) { // find the child menu items if ( $parent_menu_item_id == $item->menu_item_parent ) { $childrens[ $item->ID ] = array( 'id' => $item->ID, 'title' => $item->title, ); } } } return $childrens; } function wp_get_nav_menu_items( $menu_id ) { $quadmenu_menu_items = wp_cache_get( "wp_get_nav_menu_items_{$menu_id}", 'quadmenu' ); if ( $quadmenu_menu_items === false ) { $quadmenu_menu_items = wp_get_nav_menu_items( $menu_id ); wp_cache_set( "wp_get_nav_menu_items_{$menu_id}", $quadmenu_menu_items, 'quadmenu' ); } return $quadmenu_menu_items; } public function nav_menu_item_settings( $setting, $item ) { $type = $setting['type']; // $desc = isset($setting['desc']) ? '
' : ''; // $tip = isset($setting['tip']) ? ' ' : ''; $value = $item->{$setting['db']}; $id = 'menu-item-' . $setting['db']; $name = 'menu-item-' . $setting['id']; $class = 'menu-item-quadmenu-setting ' . $id; $ops = ''; if ( isset( $setting['ops'] ) ) { $ops = $setting['ops']; if ( ! is_array( $ops ) && function_exists( $ops ) ) { if ( isset( $setting['ops_args'] ) ) { $ops = $ops( $setting['ops_args'] ); } else { $ops = $ops(); } } } switch ( $type ) { case 'checkbox': ?> $_name ) : ?> $_name ) : ?> 0, 'size' => '', 'position' => '', 'repeat' => '', 'origin' => 'border-box', 'opacity' => 1, ); $value = wp_parse_args( $value, $defaults ); $_src = ! empty( $value['thumbnail-id'] ) ? wp_get_attachment_image_src( $value['thumbnail-id'], 'thumbnail' ) : false; $_url = ! empty( $value['thumbnail-id'] ) ? wp_get_attachment_image_src( $value['thumbnail-id'], 'full' ) : false; $have_media = isset( $_src[0] ) && strlen( $_src[0] ) > 0 ? 'active' : ''; ?> 0 ? 'active' : '' ); ?> nav_menu_item_fields( $menu_obj ); ob_start(); if ( in_array( $menu_obj->object, array( 'search', 'cart', 'login', 'column' ) ) ) { $settings = array_diff( $settings, array( 'url', 'target', 'xfn', 'description' ) ); } if ( in_array( $menu_obj->type, array( 'taxonomy', 'post_type', 'post_type_archive' ) ) ) { $settings = array_diff( $settings, array( 'url' ) ); } ?> {$menu_obj->quadmenu}->panels->$panel->settings ) { Plugin::send_json_error( json_encode( $menu_obj ) ); } if ( $form = $this->form( $menu_obj, 0, $settings ) ) { Plugin::send_json_success( $form ); } else { Plugin::send_json_error( json_encode( $menu_obj ) ); } wp_die(); } public function panels( $menu_item_depth, $menu_obj, $menu_id ) { $items = Configuration::custom_nav_menu_items(); $this->panels = $items->{$menu_obj->quadmenu}->panels; ?>