get_toplevel_menu_icon_url(); $page_title = $this->get_toplevel_menu_title(); add_menu_page( $page_title, $page_title, Permissions::ACCESS, ABLOCKS_PLUGIN_SLUG, [ $this, 'load_main_template' ], $icon_url, 30 ); foreach ( Helper::get_admin_menu_list() as $item_key => $item ) { add_submenu_page( $item['parent_slug'], $item['title'], $item['title'], $item['capability'], $item_key, [ $this, 'load_main_template' ] ); } $this->register_theme_demo_importer_menu(); } public function get_toplevel_menu_icon_url() { // phpcs:disable if ( isset( $_GET['page'] ) && 'ablocks' === $_GET['page'] ) { $icon_url = 'data:image/svg+xml;base64, ' . base64_encode( file_get_contents( ABLOCKS_ASSETS_PATH . 'images/menu-icon-expand.svg' ) ); return apply_filters( 'ablocks/admin/toplevel_active_menu_icon', $icon_url ); } $icon_url = 'data:image/svg+xml;base64, ' . base64_encode( file_get_contents( ABLOCKS_ASSETS_PATH . 'images/menu-icon.svg' ) ); return apply_filters( 'ablocks/admin/toplevel_inactive_menu_icon', $icon_url ); } public function load_main_template() { $preloader_html = apply_filters( 'ablocks/preloader', Helper::get_preloader_html() ); echo '
' . wp_kses_post( $preloader_html ) . '
'; } public function get_toplevel_menu_title() { return apply_filters( 'ablocks/admin/toplevel_menu_title', __( 'aBlocks', 'ablocks' ) ); } /** * Register sub-menu for theme based demo-import. * * @return void */ public function register_theme_demo_importer_menu() { $demo_config = Helper::get_theme_demo_config(); if ( empty($demo_config['demos']) && !$demo_config['preloaded_demo']) { return; } add_submenu_page( 'themes.php', $demo_config['page_title'], $demo_config['menu_title'], 'ablocks_import_templates', $demo_config['menu_slug'], [ $this, 'load_demo_importer_template' ] ); } public function load_demo_importer_template() { echo '
'; } function add_admin_menu_css() { echo ''; } }