init(); } return self::$instance; } /** * Path to the plugin directory * * @var $plugin_path */ public $plugin_path; /** * URL to the plugin directory * * @var $plugin_url */ public $plugin_url; /** * Mind constructor. */ public function __construct() { /* We do nothing here! */ } /** * Init options */ public function init() { $this->plugin_path = plugin_dir_path( __FILE__ ); $this->plugin_url = plugin_dir_url( __FILE__ ); // include helper files. $this->include_dependencies(); // hooks. add_action( 'init', [ $this, 'init_hook' ] ); } /** * Include dependencies */ private function include_dependencies() { require_once $this->plugin_path . 'classes/class-prompts.php'; require_once $this->plugin_path . 'classes/class-ai-api.php'; require_once $this->plugin_path . 'classes/class-admin.php'; require_once $this->plugin_path . 'classes/class-assets.php'; require_once $this->plugin_path . 'classes/class-rest.php'; } /** * Init Hook */ public function init_hook() { // load textdomain. load_plugin_textdomain( 'mind', false, basename( dirname( __FILE__ ) ) . '/languages' ); } /** * Activation Hook */ public function activation_hook() { // Welcome Page Flag. set_transient( '_mind_welcome_screen_activation_redirect', true, 30 ); } /** * Deactivation Hook */ public function deactivation_hook() { // Nothing here yet. } } /** * Function works with the Mind class instance * * @return object Mind */ function mind() { return Mind::instance(); } add_action( 'plugins_loaded', 'mind' ); register_activation_hook( __FILE__, [ mind(), 'activation_hook' ] ); register_deactivation_hook( __FILE__, [ mind(), 'deactivation_hook' ] ); // Integrate UpdatePulse Server for updates using PUC v5.3 require_once plugin_dir_path(__FILE__) . 'lib/plugin-update-checker/plugin-update-checker.php'; use YahnisElsts\PluginUpdateChecker\v5p3\PucFactory; $WpMindUpdateChecker = PucFactory::buildUpdateChecker( 'https://updates.weixiaoduo.com/wpmind.json', __FILE__, 'wpmind' );