doHooks(); } return self::$instance; } private function doHooks() { add_filter( 'plugin_action_links_' . NJFB_PLUGIN_BASE_NAME, array( $this, 'addActionLinks' ) ); add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 2 ); add_action( 'admin_init', array( $this, 'registerSettings' ) ); add_action( 'admin_footer', array( $this, 'adminFooter' ) ); add_action( 'admin_menu', array( $this, 'settingsMenu' ) ); } public function settingsMenu() { $filebirdIcon = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEwLDRINEMyLjg5LDQgMiw0Ljg5IDIsNlYxOEEyLDIgMCAwLDAgNCwyMEgyMEEyLDIgMCAwLDAgMjIsMThWOEMyMiw2Ljg5IDIxLjEsNiAyMCw2SDEyTDEwLDRaIiBmaWxsPSIjYTdhYWFkIi8+PC9zdmc+'; add_menu_page( 'FileBird', 'FileBird', 'manage_options', 'filebird-settings', null, $filebirdIcon ); $this->settingPageSuffix = add_submenu_page( 'filebird-settings', 'FileBird Settings', 'FileBird Settings', 'manage_options', 'filebird-settings', array( $this, 'settingsPage' ), 0 ); add_submenu_page( 'filebird-settings', '', '' . __( 'Go Pro', 'filebird' ) . '', 'manage_options', 'go_filebird_pro', array( $this, 'goProRedirects' ), 100 ); } public function adminFooter() { ?> '' . __( 'Documentation', 'filebird' ) . '', ); $links = array_merge( $links, $new_links ); } return $links; } public function addActionLinks( $links ) { $settingsLinks = array( 'Settings', ); $links[] = '' . __( 'Go Pro', 'filebird' ) . ''; return array_merge( $settingsLinks, $links ); } public function getPageId() { if ( null == $this->pageId ) { $this->pageId = NJFB_PREFIX . '-settings'; } return $this->pageId; } public function registerSettings() { $settings = array( 'njt_fbv_folder_per_user', 'njt_fbv_default_folder', ); foreach ( $settings as $k => $v ) { register_setting( 'njt_fbv', $v ); } } }