예제 #1
0
 public static function get_popups_instance()
 {
     if (self::$instance == null) {
         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 = SocialPopup::get_instance();
     $this->plugin_slug = $plugin->get_plugin_slug();
     // helper funcs
     $this->helper = new Spu_Helper();
     //settings name
     $this->options_name = $this->plugin_slug . '_settings';
     //load settings
     $this->spu_settings = $plugin->get_settings();
     //premium version ?
     $this->premium = defined('SPUP_PLUGIN_HOOK');
     //Register cpt
     add_action('init', array($this, 'register_cpt'));
     // add settings page
     add_action('admin_menu', array($this, 'add_settings_menu'));
     //Add our metaboxes
     add_action('add_meta_boxes', array($this, 'add_meta_boxes'));
     //Save metaboxes
     add_action('save_post_spucpt', array($this, 'save_meta_options'), 20);
     // 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 an action link pointing to the options page.
     add_filter('plugin_action_links_' . SPU_PLUGIN_HOOK, array($this, 'add_action_links'));
     //Filters for rules
     add_filter('spu/get_post_types', array($this, 'get_post_types'), 1, 3);
     add_filter('spu/get_taxonomies', array($this, 'get_taxonomies'), 1, 3);
     //AJAX Actions
     add_action('wp_ajax_spu/field_group/render_rules', array($this->helper, 'ajax_render_rules'));
     add_action('wp_ajax_spu/field_group/render_operator', array($this->helper, 'ajax_render_operator'));
     //Tinymce
     add_filter('tiny_mce_before_init', array($this, 'tinymce_init'));
     add_action('admin_init', array($this, 'editor_styles'));
     //Columns in cpt
     add_filter('manage_edit-spucpt_columns', array($this, 'set_custom_cpt_columns'), 10, 2);
     add_action('manage_spucpt_posts_custom_column', array($this, 'custom_columns'), 10, 2);
     add_action('admin_init', array($this, 'toggle_on_popup'));
     add_filter('post_row_actions', array($this, 'modify_title_actions'), 10, 2);
     $this->set_rules_fields();
 }
 /**
  * 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;
 }