load_files(); $this->init_hooks(); } /** * Load class files. */ private function load_files() { require_once ACCESSKIT_PLUGIN_DIR . 'includes/class-accesskit-defaults.php'; require_once ACCESSKIT_PLUGIN_DIR . 'includes/class-accesskit-sanitize.php'; require_once ACCESSKIT_PLUGIN_DIR . 'public/class-accesskit-frontend.php'; if ( is_admin() ) { require_once ACCESSKIT_PLUGIN_DIR . 'admin/class-accesskit-settings.php'; $this->settings = new AccessKit_Settings(); } $this->frontend = new AccessKit_Frontend(); } /** * Wire WordPress hooks. */ private function init_hooks() { add_filter( 'plugin_action_links_' . ACCESSKIT_PLUGIN_BASENAME, array( $this, 'add_settings_link' ) ); } /** * Add Settings link on Plugins page row. * * @param array $links Existing links. * @return array */ public function add_settings_link( $links ) { $settings_url = admin_url( 'options-general.php?page=accesskit-settings' ); $settings_link = '' . esc_html__( 'Settings', 'accesskit-accessibility-toolbar' ) . ''; array_unshift( $links, $settings_link ); return $links; } /** * Activation callback — set defaults if option not present. */ public static function activate() { require_once ACCESSKIT_PLUGIN_DIR . 'includes/class-accesskit-defaults.php'; if ( false === get_option( ACCESSKIT_OPTION_KEY ) ) { add_option( ACCESSKIT_OPTION_KEY, AccessKit_Defaults::get() ); } } }