/** * Initialize the plugin by loading admin scripts & styles and adding a * settings page and menu. * * @since 1.0.0 */ private function __construct() { /* * Call $plugin_slug from public plugin class. * */ $plugin = NS_Featured_Posts::get_instance(); $this->plugin_slug = $plugin->get_plugin_slug(); $this->options = $plugin->ns_featured_posts_get_options_array(); // Add the options page and menu item. add_action('admin_menu', array($this, 'ns_featured_posts_add_plugin_admin_menu')); /* * Add an action link pointing to the options page. */ $plugin_basename = plugin_basename(plugin_dir_path(__FILE__) . 'ns-featured-posts.php'); add_filter('plugin_action_links_' . $plugin_basename, array($this, 'ns_featured_posts_add_action_links')); /* * Define custom functionality. */ add_action('admin_init', array($this, 'ns_featured_posts_add_columns_head')); add_action('admin_init', array($this, 'plugin_register_settings')); add_action('admin_head', array($this, 'add_script_to_admin_head')); add_action('admin_head', array($this, 'add_style_to_admin_head')); add_action('wp_ajax_nsfeatured_posts', array($this, 'nsfp_ajax_featured_post')); add_action('restrict_manage_posts', array($this, 'nsfp_table_filtering')); add_filter('parse_query', array($this, 'nsfp_query_filtering')); add_filter('pre_get_posts', array($this, 'nsfp_filtering_query_for_listing')); add_action('widgets_init', array($this, 'nsfp_custom_widgets')); // Metabox stuffs. add_action('add_meta_boxes', array($this, 'add_featured_meta_boxes')); add_action('save_post', array($this, 'nsfp_save_meta_box')); }
/** * 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; }