public static function get_instance() { if (null == self::$instance) { self::$instance = new self(); } return self::$instance; }
private function __construct() { $plugin = WP_Maintenance_Mode::get_instance(); $this->plugin_slug = $plugin->get_plugin_slug(); $this->plugin_settings = $plugin->get_plugin_settings(); $this->plugin_default_settings = $plugin->default_settings(); $this->plugin_basename = plugin_basename(WPMM_PATH . $this->plugin_slug . '.php'); // Load admin style sheet and JavaScript. add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_styles')); add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts')); // Add the options page and menu item. add_action('admin_menu', array($this, 'add_plugin_menu')); // Add an action link pointing to the options page if (is_multisite() && is_plugin_active_for_network($this->plugin_basename)) { // settings link will point to admin_url of the main blog, not to network_admin_url add_filter('network_admin_plugin_action_links_' . $this->plugin_basename, array($this, 'add_settings_link')); } else { add_filter('plugin_action_links_' . $this->plugin_basename, array($this, 'add_settings_link')); } // Add admin notices add_action('admin_notices', array($this, 'add_notices')); // Add ajax methods add_action('wp_ajax_wpmm_subscribers_export', array($this, 'subscribers_export')); add_action('wp_ajax_wpmm_subscribers_empty_list', array($this, 'subscribers_empty_list')); add_action('wp_ajax_wpmm_dismiss_notices', array($this, 'dismiss_notices')); add_action('wp_ajax_wpmm_reset_settings', array($this, 'reset_settings')); // Add text to footer add_filter('admin_footer_text', array($this, 'admin_footer_text'), 5); }