private function __construct() { if (!is_super_admin()) { return; } /* * Call $plugin_slug from public plugin class. * */ $this->plugin = Super_Simple_Events::get_instance(); // 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_post_styles')); add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts')); add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_post_scripts')); // Register settings add_action('admin_init', array($this, 'page_init')); // Add the options page and menu item. add_action('admin_menu', array($this, 'add_plugin_admin_menu')); // Add an action link pointing to the options page. $plugin_basename = plugin_basename(plugin_dir_path(__DIR__) . $this->plugin->get_plugin_slug() . '.php'); add_filter('plugin_action_links_' . $plugin_basename, array($this, 'add_action_links')); // Events meta box add_action('add_meta_boxes', array($this, 'add_meta_boxes'), 1); add_action('save_post', array($this, 'save_post')); add_action('update_option_' . $this->plugin->option_name, array($this, 'update_option_callback'), 10, 2); // Add column in event post list add_action('manage_' . $this->plugin->get_plugin_slug() . '_posts_custom_column', array($this, 'custom_columns'), 10, 2); add_filter('manage_edit-' . $this->plugin->get_plugin_slug() . '_columns', array($this, 'add_column')); // Display upgrade messages if (!$this->plugin->is_higher_38()) { add_action('admin_notices', array($this, 'admin_notices')); } }
/** * Specifies the classname and description, instantiates the widget, * loads localization files, and includes necessary stylesheets and JavaScript. */ public function __construct() { /* * Call $plugin_slug from public plugin class. * */ $this->plugin = Super_Simple_Events::get_instance(); $this->widget_id = $this->plugin->get_plugin_slug() . '-id'; parent::__construct($this->widget_id, sprintf(__('Upcoming Events (%s)', $this->plugin->get_plugin_slug()), $this->plugin->get_plugin_name()), array('classname' => $this->plugin->get_plugin_slug() . '-class', 'description' => sprintf(__('Display a list of upcoming events created in the %s plugin', $this->plugin->get_plugin_slug()), $this->plugin->get_plugin_name()))); $this->alt_option_name = 'widget_' . $this->plugin->get_plugin_slug(); // Register site styles and scripts add_action('wp_enqueue_scripts', array($this, 'register_widget_styles')); // Refreshing the widget's cached output with each new post add_action('save_post', array($this, 'flush_widget_cache')); add_action('deleted_post', array($this, 'flush_widget_cache')); add_action('switch_theme', array($this, 'flush_widget_cache')); }