plugin = get_plugin_data( RWMB_DIR . 'meta-box.php' ); // Add links to about page in the plugin action links. add_filter( 'plugin_action_links_meta-box/meta-box.php', array( $this, 'plugin_links' ) ); // Add a shared top-level admin menu and Dashboard page. Use priority 5 to show Dashboard at the top. add_action( 'admin_menu', array( $this, 'add_menu' ), 5 ); add_action( 'admin_menu', array( $this, 'add_submenu' ), 5 ); // If no admin menu, then hide the About page. add_action( 'admin_head', array( $this, 'hide_page' ) ); // Redirect to about page after activation. add_action( 'activated_plugin', array( $this, 'redirect' ), 10, 2 ); } /** * Add links to About page. * * @param array $links Array of plugin links. * * @return array */ public function plugin_links( $links ) { $links[] = '' . esc_html__( 'About', 'meta-box' ) . ''; return $links; } /** * Register admin page. */ public function add_menu() { if ( ! $this->has_menu() ) { return; } add_menu_page( __( 'Meta Box', 'meta-box' ), __( 'Meta Box', 'meta-box' ), 'activate_plugins', 'meta-box', '__return_null', 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2aWV3Qm94PSIxNjQuMzI4IDE0OS40NDEgNTMuNDcgNDIuNjYiIHdpZHRoPSI1My40NyIgaGVpZ2h0PSI0Mi42NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNIDIwNC42NjggMTc5LjM5MSBMIDIwNS40ODggMTYwLjU1MSBMIDIwNS4zMTggMTYwLjUyMSBMIDE5My44ODggMTkyLjEwMSBMIDE4OC4xNDggMTkyLjEwMSBMIDE3Ni43NzggMTYwLjY0MSBMIDE3Ni42MDggMTYwLjY2MSBMIDE3Ny40MjggMTc5LjM5MSBMIDE3Ny40MjggMTg2LjA5MSBMIDE4MS45OTggMTg2Ljk3MSBMIDE4MS45OTggMTkyLjEwMSBMIDE2NC4zMjggMTkyLjEwMSBMIDE2NC4zMjggMTg2Ljk3MSBMIDE2OC44NjggMTg2LjA5MSBMIDE2OC44NjggMTU1LjQ4MSBMIDE2NC4zMjggMTU0LjYwMSBMIDE2NC4zMjggMTQ5LjQ0MSBMIDE2OC44NjggMTQ5LjQ0MSBMIDE4MC4wMjggMTQ5LjQ0MSBMIDE5MC44OTggMTgwLjg4MSBMIDE5MS4wNzggMTgwLjg4MSBMIDIwMi4wMzggMTQ5LjQ0MSBMIDIxNy43OTggMTQ5LjQ0MSBMIDIxNy43OTggMTU0LjYwMSBMIDIxMy4yMjggMTU1LjQ4MSBMIDIxMy4yMjggMTg2LjA5MSBMIDIxNy43OTggMTg2Ljk3MSBMIDIxNy43OTggMTkyLjEwMSBMIDIwMC4xMjggMTkyLjEwMSBMIDIwMC4xMjggMTg2Ljk3MSBMIDIwNC42NjggMTg2LjA5MSBMIDIwNC42NjggMTc5LjM5MSBaIiBzdHlsZT0iZmlsbDogcmdiKDE1OCwgMTYzLCAxNjgpOyB3aGl0ZS1zcGFjZTogcHJlOyIvPgo8L3N2Zz4=' ); } /** * Add submenu for the About page. */ public function add_submenu() { $parent_menu = $this->has_menu() ? 'meta-box' : $this->get_parent_menu(); $about = add_submenu_page( $parent_menu, __( 'Welcome to Meta Box', 'meta-box' ), __( 'Dashboard', 'meta-box' ), 'activate_plugins', 'meta-box', array( $this, 'render' ) ); add_action( "load-$about", array( $this, 'load_about' ) ); } /** * Functions and hooks for about page. */ public function load_about() { $this->enqueue(); add_filter( 'admin_footer_text', array( $this, 'change_footer_text' ) ); } /** * Hide about page from the admin menu. */ public function hide_page() { remove_submenu_page( $this->get_parent_menu(), 'meta-box' ); } /** * Render admin page. */ public function render() { ?>