/** * Main Google_Maps_Builder Instance * * Insures that only one instance of Google_Maps_Builder exists in memory at any one * time. Also prevents needing to define globals all over the place. * * @since 2.0 * @static * @static var array $instance * @uses Google_Maps_Builder::setup_constants() Setup the constants needed * @uses Google_Maps_Builder::includes() Include the required files * @uses Google_Maps_Builder::load_textdomain() load the language files * @see Google_Maps_Builder() * @return Google_Maps_Builder */ public static function instance() { if (!isset(self::$instance) && !self::$instance instanceof Google_Maps_Builder) { self::$instance = new Google_Maps_Builder(); self::$instance->setup_constants(); add_action('plugins_loaded', array(self::$instance, 'load_textdomain')); self::$instance->includes(); self::$instance->activate = new Google_Maps_Builder_Activate(); self::$instance->scripts = new Google_Maps_Builder_Scripts(); self::$instance->settings = new Google_Maps_Builder_Settings(); self::$instance->engine = new Google_Maps_Builder_Engine(); //Init CPT (after CMB2 -> hence the 10000 priority) add_action('init', array(self::$instance, 'setup_post_type'), 10000); // Read plugin meta // Check that function get_plugin_data exists if (!function_exists('get_plugin_data')) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } self::$instance->meta = get_plugin_data(GMB_PLUGIN_FILE, false); } return self::$instance; }
/** * 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; }
/** * Main Google_Maps_Builder Instance * * Insures that only one instance of Google_Maps_Builder exists in memory at any one * time. Also prevents needing to define globals all over the place. * * @since 2.0 * @static * @static var array $instance * @uses Google_Maps_Builder::setup_constants() Setup the constants needed * @uses Google_Maps_Builder::includes() Include the required files * @uses Google_Maps_Builder::load_textdomain() load the language files * @see Google_Maps_Builder() * @return Google_Maps_Builder */ public static function instance() { if (!isset(self::$instance) && !self::$instance instanceof Google_Maps_Builder) { self::$instance = new Google_Maps_Builder(); self::$instance->setup_constants(); add_action('plugins_loaded', array(self::$instance, 'load_textdomain')); self::$instance->includes(); self::$instance->activate = new Google_Maps_Builder_Activate(); self::$instance->scripts = new Google_Maps_Builder_Scripts(); self::$instance->settings = new Google_Maps_Builder_Settings(); self::$instance->engine = new Google_Maps_Builder_Engine(); register_activation_hook(__FILE__, array(self::$instance->activate, 'activation_flush_rewrites')); // Read plugin meta // Check that function get_plugin_data exists if (!function_exists('get_plugin_data')) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } self::$instance->meta = get_plugin_data(GMB_PLUGIN_FILE, false); } return self::$instance; }
/** * The main function responsible for returning the one true Maps Builder instance to function everywhere. * * Use this function like you would a global variable, except without needing * to declare the global. * * Example: <?php $gmb = Google_Maps_Builder(); ?> * * @since 2.0 * @return object|Google_Maps_Builder */ function Google_Maps_Builder() { return Google_Maps_Builder::instance(); }