%2$s', admin_url('admin.php?page=blockspare'), esc_html__('Get Started', 'blockspare')); array_unshift($links, $settings_link); $links['bspro'] = sprintf('%2$s', 'https://www.blockspare.com/', esc_html__('Upgrade', 'blockspare')); return $links; } public function plugin_row_meta($plugin_meta, $plugin_file) { if (BLOCKSPARE_PLUGIN_BASE === $plugin_file) { $row_meta = [ 'starter' => '' . esc_html__('Demos', 'blockspare') . '', 'docs' => '' . esc_html__('Docs', 'blockspare') . '', 'video' => '' . esc_html__('Videos', 'blockspare') . '', 'support' => '' . esc_html__('Need help?', 'blockspare') . '', ]; $plugin_meta = array_merge($plugin_meta, $row_meta); } return $plugin_meta; } public function add_dashboard_page() { // @see images/blockspare-icon.svg $svg = <<< SVG SVG; add_menu_page( __('Blockspare', 'blockspare'), // Page Title. __('Blockspare', 'blockspare'), // Menu Title. 'edit_posts', // Capability. 'blockspare', // Menu slug. array($this, 'blockspare_admin_dashboard'), // Action. 'data:image/svg+xml;base64,' . base64_encode($svg), // Blockspare icon. 25 ); add_submenu_page( 'blockspare', // Parent slug. __('Home Dashboard', 'blockspare'), // Page title. __('Home Dashboard', 'blockspare'), // Menu title. 'manage_options', // Capability. 'blockspare', // Menu slug. array($this, 'blockspare_admin_dashboard'), // Callback function. 1 // Position ); // Our getting started page. add_submenu_page( 'blockspare', // Parent slug. __('Starter Templates', 'blockspare'), // Page title. __('Starter Templates', 'blockspare'), // Menu title. 'manage_options', // Capability. 'bspare-starter-sites', // Menu slug. array($this, 'blockspare_admin_blocks'), // Callback function. 1 // Position ); add_submenu_page( 'blockspare', // Parent slug. __('Gutenberg Blocks', 'blockspare'), // Page title. __('Gutenberg Blocks', 'blockspare'), // Menu title. 'manage_options', // Capability. 'bs-blocks', // Menu slug. array($this, 'blockspare_admin_explore_more_blocks'), // Callback function. 2 // Position ); add_submenu_page( 'blockspare', // Parent slug. __('Saved Templates', 'blockspare'), // Page title. __('Saved Templates', 'blockspare'), // Menu title. 'manage_options', // Capability. 'edit.php?post_type=bs_templates', // Menu slug. ); add_submenu_page( 'blockspare', // Parent slug. __('Compare Free & Pro', 'blockspare'), // Page title. __('Compare Free & Pro', 'blockspare'), // Menu title. 'manage_options', // Capability. 'bs-free-pro', // Capability. array($this, 'blockspare_admin_free_vs_pro'), ); add_submenu_page( 'blockspare', esc_html__('Documentation', 'blockspare'), esc_html__('Documentation', 'blockspare'), 'manage_options', esc_url('https://blockspare.com/docs/') ); add_submenu_page( 'blockspare', // Parent slug. __('Change Log', 'blockspare'), // Page title. __('Change Log', 'blockspare'), // Menu title. 'manage_options', // Capability. 'bs-change-log', // Menu slug. array($this, 'blockspare_admin_change_log'), // Callback function. ); add_submenu_page( 'blockspare', esc_html__('Explore More', 'blockspare'), esc_html__('Explore More', 'blockspare'), 'manage_options', esc_url('https://blockspare.com/') ); add_submenu_page( 'blockspare', esc_html__('Need a Website?', 'blockspare'), esc_html__('Need a Website?', 'blockspare'), 'manage_options', esc_url('https://afthemes.com/make-a-website/') ); add_submenu_page( 'blockspare', esc_html__('Power Bundle', 'blockspare'), esc_html__('Power Bundle', 'blockspare'), 'manage_options', esc_url('https://afthemes.com/all-themes-plan/') ); add_submenu_page( 'blockspare', esc_html__('Support', 'blockspare'), esc_html__('Support', 'blockspare'), 'manage_options', esc_url('https://afthemes.com/supports/') ); } public function enqueue_dashboard_script($hook) { wp_enqueue_style('blockspare-admin', BLOCKSPARE_PLUGIN_URL . 'admin/assets/css/style.css', '', ''); wp_enqueue_script('blockspare_dashboard_js', BLOCKSPARE_PLUGIN_URL . 'dist/block_admin_dashboard.js', array('react', 'react-dom', 'wp-components', 'wp-element', 'wp-api-fetch', 'wp-polyfill'), '1.0'); wp_enqueue_style('blockspare-admin-css', BLOCKSPARE_PLUGIN_URL . 'dist/dashboard_css.css'); wp_enqueue_script('wp-api'); $blockspare_dashboard_logo = BLOCKSPARE_PLUGIN_URL . 'admin/assets/images/blockspare-logo.png'; global $blockspare_block_manager; wp_localize_script( 'blockspare_dashboard_js', 'blockspare_dashboard', array( 'logo' => $blockspare_dashboard_logo, "imagePath" => "https://raw.githubusercontent.com/afthemes/blockspare-demo-data/master/blocks/new/", "static_img" => BLOCKSPARE_PLUGIN_URL, 'newPageUrl' => admin_url('post-new.php?post_type=page&blockspare_create_block'), 'adminPath' => admin_url('post-new.php?post_type=page&blockspare_show_intro=true'), 'pluginVesion' => BLOCKSPARE_VERSION, 'exploreUrl' => admin_url('admin.php?page=bs-blocks'), 'adminUrl' => admin_url('admin.php?page=blockspare'), 'templateUrl' => admin_url('edit.php?post_type=bs_templates'), 'starterUrl' => admin_url('admin.php?page=bspare-starter-sites'), 'blockUrl' => admin_url('admin.php?page=bs-blocks'), 'freevspro' => admin_url('admin.php?page=bs-free-pro'), 'changelogUrl' => admin_url('admin.php?page=bs-change-log'), 'docsUrl' => 'https://blockspare.com/docs/', 'channel' => 'https://www.youtube.com/@blockspare/videos', 'devChnagelog' => 'https://wordpress.org/plugins/blockspare/#developers', 'changelog' => blockspare_get_latest_change_log(), 'blocks' => $blockspare_block_manager->get_all_blocks(), 'disabledBlocks' => $blockspare_block_manager->get_disabled_blocks(), ) ); } public function blockspare_admin_blocks() { ?>