front_end(); } public function front_end() { require_once ( AIEA_DIR . 'core/mega-menu/front-end.php' ); } public function admin_scripts() { wp_enqueue_style( 'bootstrap-icons', AIEA_URL . 'assets/css/front-end/bootstrap-icons.css', false, '1.8.1' ); wp_enqueue_style( 'bootstrapicons-iconpicker', AIEA_URL . 'core/mega-menu/assets/css/bootstrapicons-iconpicker.css', false, '1.0.0' ); wp_enqueue_script( 'bootstrapicon-iconpicker', AIEA_URL . 'core/mega-menu/assets/js/bootstrapicon-iconpicker.min.js', array( 'jquery' ), '1.0', true ); wp_enqueue_style( 'ai-mega-menu', AIEA_URL . 'core/mega-menu/assets/css/mega-menu.css', false, '1.0.0' ); wp_enqueue_script( 'ai-mega-menu', AIEA_URL . 'core/mega-menu/assets/js/mega-menu.js', array( 'jquery' ), '1.0', true ); wp_localize_script( 'ai-mega-menu', 'aiea_mm_obj', array( 'rest_url' => esc_url(get_rest_url() . 'ai/v1/'), 'mega_menu_html' => '

AI Mega Menu

Icredible
' ) ); } public function mega_menu_cpt() { require_once ( AIEA_DIR . 'core/mega-menu/cpt.php' ); } public function api_init() { register_rest_route( 'ai/v1', '/megamenu'. '/(?P\w+(|[-]\w+))/', array( 'methods' => \WP_REST_Server::ALLMETHODS, 'callback' => [ $this, 'callback' ], 'permission_callback' => '__return_true', // all permissions are implimented inside the callback action ) ); } public function callback( $request ) { $this->request = $request; $menu_item = $this->request['key']; return $this->get_content_editor( $menu_item ); } public function get_content_editor( $menu_item ) { $builder_post_title = 'ai-megamenu-content-' . $menu_item; $builder_post_id = aiea_modules()->get_post_by_title( $builder_post_title, OBJECT, 'aiea_content' ); if ( is_null( $builder_post_id ) ) { $defaults = array( 'post_content' => '', 'post_title' => $builder_post_title, 'post_status' => 'publish', 'post_type' => 'aiea_content', ); $builder_post_id = wp_insert_post( $defaults ); update_post_meta( $builder_post_id, '_wp_page_template', 'elementor_canvas' ); } else { $builder_post_id = $builder_post_id->ID; } // if wpml is active and wpml not set for this post if ( defined( 'ICL_SITEPRESS_VERSION' ) ) { $builder_post_id = $this->set_wpml_data($builder_post_id); } $url = admin_url( 'post.php?post=' . $builder_post_id . '&action=elementor' ); wp_safe_redirect( $url ); exit; } public function set_wpml_data($builder_post_id) { global $sitepress; $default_language = $sitepress->get_default_language(); $wpml_element_type = apply_filters( 'wpml_element_type', 'elementskit_content' ); $trid = $sitepress->get_element_trid( $builder_post_id, $wpml_element_type ); if( ! $trid ) { $sitepress->set_element_language_details( $builder_post_id, $wpml_element_type, false, $default_language, null, false ); } // get wpml post by language code $referer = wp_get_referer(); $referer = parse_url($referer); $referer = !empty($referer['query']) ? $referer['query'] : ''; $referer = parse_str($referer, $referer_args); if( !empty($referer_args['post']) ) { $language_details = apply_filters( 'wpml_post_language_details', NULL, $referer_args['post'] ); if( !is_wp_error($language_details) ) { $builder_post_id = apply_filters( 'wpml_object_id', $builder_post_id, 'elementskit_content', true, $language_details['language_code'] ); } } return $builder_post_id; } public function menu_custom_fields( $item_id, $item, $depth, $args, $id ) { $aiea_mega_menu = $item->aiea_mega_menu ? $item->aiea_mega_menu : json_encode( array( 'menu_type' => 'default', 'mega_menu' => 'no', 'icon' => '' ) ); ?> aiea_mega_menu = get_post_meta( $menu_item->ID, '_menu_item_aiea_mega_menu', true ); return $menu_item; } public function mega_menu_footer() { ?>

px