/**
  * 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;
 }