add_menu(); $this->add_scripts(); $this->dispatch_action(); } public function add_menu() { new Admin\Menu(); } public function add_scripts() { new Admin\Assets(); } public function dispatch_action() { new Admin\Ajax(); Admin\ShortLinkGenerator::getInstance(); Admin\Metabox::init(); // new Admin\Notice(); add_action('admin_init', [$this, 'init_notices']); add_filter( 'BetterLinks/Admin/skip_no_conflict', [ $this, 'skip_no_conflict' ] ); add_filter( 'plugin_action_links_' . BETTERLINKS_PLUGIN_BASENAME, array( $this, 'insert_plugin_links' ) ); add_action( 'admin_head-toplevel_page_betterlinks', array( $this, 'append_no_cache_meta' ) ); add_action( 'admin_head-toplevel_page_betterlinks-analytics', array( $this, 'append_no_cache_meta' ) ); add_action( 'admin_head-toplevel_page_betterlinks-settings', array( $this, 'append_no_cache_meta' ) ); add_action( 'betterlinks/admin/after_import_data', array( $this, 'after_import_data' ) ); } public function init_notices() { new Admin\Notice(); } public function skip_no_conflict() { $whitelist = [ '127.0.0.1', '::1' ]; $remote = isset( $_SERVER['REMOTE_ADDR'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ) : ''; if ( in_array( $remote, $whitelist, true ) ) { return true; } return false; } public function insert_plugin_links( $links ) { if ( ! apply_filters( 'betterlinks/pro_enabled', false ) ) { $links[] = '' . __( 'Upgrade to Pro', 'betterlinks' ) . ''; } return $links; } public function append_no_cache_meta() { echo ' '; } public function after_import_data() { $Cron = new Cron(); $Cron->write_json_links(); $Cron->analytics(); \BetterLinks\Helper::clear_query_cache(); } }