/** * Main WP_SUAPI_Settings Instance * * Ensures only one instance of WP_SUAPI_Settings is loaded or can be loaded. * * @since 1.0.0 * @static * @see WP_SUAPI() * @return Main WP_SUAPI_Settings instance */ public static function instance($parent) { if (is_null(self::$_instance)) { self::$_instance = new self($parent); } return self::$_instance; }
/** * Constructor function. * @access public * @since 1.0.0 * @return void */ public function __construct($file = '', $version = '1.0.0') { $this->_version = $version; $this->_token = 'wp-suapi'; // Load plugin environment variables $this->file = $file; $this->dir = dirname($this->file); $this->assets_dir = trailingslashit($this->dir) . 'assets'; $this->assets_url = esc_url(trailingslashit(plugins_url('/assets/', $this->file))); $this->script_suffix = defined('WP_SUAPI_DEBUG') && WP_SUAPI_DEBUG ? '' : '.min'; register_activation_hook($this->file, array($this, 'install')); // Load frontend JS & CSS add_action('wp_enqueue_scripts', array($this, 'enqueue_styles'), 10); add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 10); // Load admin JS & CSS add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_scripts'), 10, 1); add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_styles'), 10, 1); // Load API for generic admin functions if (is_admin()) { $this->admin = new WP_SUAPI_Admin_API(); if (is_null($this->settings)) { $this->settings = WP_SUAPI_Settings::instance($this); } } // Handle localisation $this->load_plugin_textdomain(); add_action('init', array($this, 'load_localisation'), 0); add_action('init', array($this, 'register_cpt'), 0); //Init Shortcode_Manager $this->shortcode_manager = new \WP_SUAPI\WP_SUAPI_Shortcode_Manager(); }