> $plugins Registered plugins. * @return array> */ public static function register_plugin( $plugins ) { if ( ! is_array( $plugins ) ) { $plugins = array(); } $slug = static::get_page_slug(); if ( '' === $slug ) { return $plugins; } $plugin_file = ''; $path = (string) static::get_plugin_file(); if ( '' !== $path ) { $plugin_file = plugin_basename( $path ); } $plugins[ $slug ] = array( 'menu_title' => static::get_menu_title(), 'page_title' => static::get_page_title(), 'menu_slug' => $slug, 'capability' => static::get_capability(), 'callback' => array( get_called_class(), 'render_page' ), 'plugin_file' => $plugin_file, 'position' => static::get_menu_position(), ); return $plugins; } /** * Direct submenu registration kept for callers that invoke it themselves. */ public static function register_submenu() { add_submenu_page( fifty_three_minute_tools_menu_slug(), static::get_page_title(), static::get_menu_title(), static::get_capability(), static::get_page_slug(), array( get_called_class(), 'render_page' ) ); } public static function get_dashboard_blurb_title() { return static::get_menu_title(); } public static function get_dashboard_blurb_content( $url ) { return sprintf( /* translators: %s: URL to the plugin admin page. */ __( 'Open tool.', '53mp-fast-bulk-page-creator' ), esc_url( $url ) ); } /** * @param array $sections Dashboard sections. * @return array */ public static function add_dashboard_blurb( $sections ) { if ( ! current_user_can( static::get_capability() ) ) { return $sections; } $content = static::get_dashboard_blurb_content( static::get_admin_url() ); if ( '' === $content ) { return $sections; } $sections[] = array( 'title' => static::get_dashboard_blurb_title(), 'content' => $content, ); return $sections; } } }