/** * Return an instance of this class. * * @since 1.0.0 * * @return object A single instance of this class. */ public static function get_instance() { // If the single instance hasn't been set, set it now. if (null == self::$instance) { self::$instance = new self(); } return self::$instance; }
/** * Initialize the plugin by loading admin scripts & styles and adding a * settings page and menu. * * @since 1.0.0 */ private function __construct() { $plugin = PopupsP::get_instance(); $this->plugin_slug = $plugin->get_plugin_slug(); //settings name $this->options_name = $this->plugin_slug . '_settings'; $this->loadDependencies(); // helper funcs if (class_exists('Spu_Helper')) { $this->helper = new Spu_Helper(); } add_action('spu/settings_page/before', array($this, 'load_spu_settings'), 1); //Integrations add_action('admin_menu', array($this, 'add_integrations_menu')); //Add new effect add_action('spu/metaboxes/animations', array($this, 'add_animations'), 10, 1); //Add new positions add_action('spu/metaboxes/positions', array($this, 'add_positions'), 10, 1); //Add trigger action and value add_action('spu/metaboxes/trigger_options', array($this, 'add_trigger_actions'), 10, 1); add_action('spu/metaboxes/trigger_values', array($this, 'add_trigger_values'), 10, 1); // Add advanced closing methods add_action('spu/metaboxes/after_display_options', array($this, 'add_closing_methods'), 10, 1); // Add auto close timer add_action('spu/metaboxes/after_display_options', array($this, 'add_autoclose_timer'), 10, 1); // Thanks message #add_action( 'spu/metaboxes/after_display_options', array( $this, 'add_thanks_msg' ), 10, 1 ); // Tracking events add_action('wp_ajax_track_spup', array($this, 'track_events')); add_action('wp_ajax_nopriv_track_spup', array($this, 'track_events')); // tracking events columns in cpt add_filter('manage_edit-spucpt_columns', array($this, 'set_custom_cpt_columns'), 10, 2); add_filter('post_row_actions', array($this, 'modify_title_row'), 10, 2); add_action('manage_spucpt_posts_custom_column', array($this, 'custom_columns'), 10, 2); // Reseting stats add_action('admin_init', array($this, 'reset_stats_action')); // Sanitize new options add_filter('spu/metaboxes/sanitized_options', array($this, 'sanitize_options'), 10, 1); //Add default values add_filter('spu/metaboxes/default_options', array($this, 'add_default_values'), 10, 1); // Support metabox add_filter('spu/metaboxes/support_metabox', array($this, 'support_metabox'), 10, 1); // 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')); // Google UA settings add_action('spu/settings_page/before', array($this, 'google_ua_field'), 15); // Data Sampling if (!defined('SPUP_DISABLE_STATS')) { add_action('spu/settings_page/before', array($this, 'data_sampling_field'), 16); } // License & Updates add_action('spu/settings_page/before', array($this, 'license_field')); // We run early to active all the proccess of updates add_action('admin_init', array($this, 'handle_license'), 1); //Add our metaboxes add_action('add_meta_boxes', array($this, 'add_meta_boxes')); // Optin ajax add_action('wp_ajax_spu_get_optin_lists', array($this, 'ajax_get_optin_lists')); add_action('wp_ajax_spu_get_optin_list_segments', array($this, 'ajax_get_optin_list_segments')); // Optin styles add_action('admin_init', array($this, 'optin_editor_styles')); // Add integrations that don't require api keys add_action('spu/settings_page/integrations', array($this, 'add_custom_integrations')); }