/** * Return an instance of this class. * * @since 1.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 */ private function __construct() { // Call variables from public plugin class. $plugin = Speed_Contact_Bar::get_instance(); $this->plugin_name = $plugin->get_plugin_name(); $this->plugin_slug = $plugin->get_plugin_slug(); $this->settings_db_slug = $plugin->get_settings_db_slug(); $this->social_networks = $plugin->get_social_networks(); $this->plugin_version = $plugin->get_plugin_version(); // 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_action('admin_head', array($this, 'print_admin_css')); // 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_slug . '.php'); add_filter('plugin_action_links_' . $plugin_basename, array($this, 'add_action_links')); /* * Define custom functionality. * * Read more about actions and filters: * http://codex.wordpress.org/Plugin_API#Hooks.2C_Actions_and_Filters */ add_action('admin_init', array($this, 'register_options')); // get current or default settings $this->stored_settings = $plugin->get_stored_settings(); }