$this->get_endpoints(), 'WP_VERSION' => $wp_version, ) ); wp_register_style( 'wpmi-components', plugins_url( '/build/components/css/style.css', WPMI_PLUGIN_FILE ), array( 'wp-components', ), WPMI_PLUGIN_VERSION ); wp_register_style( 'wpmi-backend', plugins_url( '/build/backend/css/style.css', WPMI_PLUGIN_FILE ), array( 'wpmi-components', 'wp-components', 'wp-editor', 'media-views', ), WPMI_PLUGIN_VERSION ); wp_register_script( 'wpmi-backend', plugins_url( '/build/backend/js/index.js', WPMI_PLUGIN_FILE ), $backend['dependencies'], $backend['version'], true ); wp_localize_script( 'wpmi-backend', 'wpmi_backend', array( 'plugin_url' => plugins_url( '/', WPMI_PLUGIN_FILE ), 'WPMI_PLUGIN_NAME' => WPMI_PLUGIN_NAME, 'WPMI_PLUGIN_VERSION' => WPMI_PLUGIN_VERSION, 'WPMI_PLUGIN_FILE' => WPMI_PLUGIN_FILE, 'WPMI_PLUGIN_DIR' => WPMI_PLUGIN_DIR, 'WPMI_DOMAIN' => WPMI_DOMAIN, 'WPMI_PREFIX' => WPMI_PREFIX, 'WPMI_WORDPRESS_URL' => WPMI_WORDPRESS_URL, 'WPMI_REVIEW_URL' => WPMI_REVIEW_URL, 'WPMI_GROUP_URL' => WPMI_GROUP_URL, 'WPMI_DEVELOPER' => WPMI_DEVELOPER, 'WPMI_SETTING_MODEL' => $models_settings->get_args(), ) ); wp_register_style( 'wpmi-navmenu', plugins_url( '/build/navmenu/css/style.css', WPMI_PLUGIN_FILE ), array( 'wpmi-components', 'wp-components', ), WPMI_PLUGIN_VERSION ); wp_register_script( 'wpmi-navmenu', plugins_url( '/build/navmenu/js/index.js', WPMI_PLUGIN_FILE ), $navmenu['dependencies'], $navmenu['version'], true ); } public function get_endpoints() { $route_library = Routes_Library::instance(); $endpoints = $route_library->get_routes(); $endpoints_array = array(); foreach ( $endpoints as $endpoint ) { $endpoint_key = str_replace( '/', '_', $endpoint::get_rest_route() ); if ( ! isset( $endpoints_array[ $endpoint_key ] ) ) { $endpoints_array[ $endpoint_key ] = $endpoint::get_rest_path(); } } return $endpoints_array; } public function enqueue_scripts() { if ( ! isset( $_GET['page'] ) || $_GET['page'] !== self::get_menu_slug() ) { return; } wp_enqueue_media(); wp_enqueue_style( 'wpmi-components' ); wp_enqueue_script( 'wpmi-backend' ); wp_enqueue_style( 'wpmi-backend' ); wp_enqueue_script( 'wpmi-navmenu' ); wp_enqueue_style( 'wpmi-navmenu' ); } public function add_menu() { $menu_slug = self::get_menu_slug(); add_menu_page( WPMI_PLUGIN_NAME, WPMI_PLUGIN_NAME, 'edit_posts', $menu_slug, '__return_null' ); add_submenu_page( $menu_slug, esc_html__( 'Welcome', 'wp-menu-icons' ), esc_html__( 'Welcome', 'wp-menu-icons' ), 'edit_posts', $menu_slug, '__return_null' ); add_submenu_page( $menu_slug, esc_html__( 'Settings', 'wp-menu-icons' ), esc_html__( 'Settings', 'wp-menu-icons' ), 'manage_options', "{$menu_slug}&tab=settings", '__return_null' ); add_submenu_page( $menu_slug, esc_html__( 'Premium', 'wp-menu-icons' ), esc_html__( 'Premium', 'wp-menu-icons' ), 'manage_options', "{$menu_slug}&tab=premium", '__return_null' ); add_submenu_page( $menu_slug, esc_html__( 'Suggestions', 'wp-menu-icons' ), esc_html__( 'Suggestions', 'wp-menu-icons' ), 'manage_options', "{$menu_slug}&tab=suggestions", '__return_null' ); } public static function get_menu_slug() { return self::$menu_slug; } public static function add_premium_js() { ?>