. */ require( __DIR__ . '/vendor/autoload.php' ); if ( ! class_exists( 'Stockpack' ) ) { class Stockpack { /** * @var Singleton The reference the *Singleton* instance of this class */ private static $instance; /** @var StockpackAdmin */ public $admin; /** @var StockpackMedia */ public $media; /** @var StockpackQuery */ public $query; /** * Returns the *Singleton* instance of this class. * * @return Singleton The *Singleton* instance. */ public static function get_instance() { if ( null === self::$instance ) { self::$instance = new self(); } return self::$instance; } /** * Stockpack constructor. */ protected function __construct() { $this->dependencies(); add_action( 'plugins_loaded', array( $this, 'init' ) ); } /** * */ public function filters() { add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'plugin_action_links' ) ); } /** * Init the plugin after plugins_loaded so environment variables are set. */ public function init() { // works load_plugin_textdomain( 'stockpack', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' ); $this->filters(); } /** * */ public function dependencies() { $this->admin = \StockpackAdmin::get_instance(); $this->media = \StockpackMedia::get_instance(); $this->query = \StockpackQuery::get_instance(); } /** * Adds plugin action links * * @since 1.0.0 */ public function plugin_action_links( $links ) { $setting_link = $this->get_setting_link(); $plugin_links = array( '' . __( 'Settings', 'stockpack' ) . '', ); return array_merge( $plugin_links, $links ); } /** * Get setting link. * * @since 1.0.0 * * @return string Setting link */ public function get_setting_link() { return admin_url( 'options-general.php?page=stockpack' ); } } $GLOBALS['stockpack'] = Stockpack::get_instance(); }