version = ACCELVIA_CONNECT_VERSION; } else { $this->version = '1.0.0'; } $this->plugin_name = 'accelvia-connect'; $this->load_dependencies(); $this->define_admin_hooks(); $this->define_public_hooks(); } private function load_dependencies() { require_once plugin_dir_path(dirname(__FILE__)) . 'includes/class-accelvia-connect-loader.php'; require_once plugin_dir_path(dirname(__FILE__)) . 'includes/class-accelvia-connect-admin.php'; require_once plugin_dir_path(dirname(__FILE__)) . 'includes/class-accelvia-connect-public.php'; $this->loader = new Accelvia_Connect_Loader(); } private function define_admin_hooks() { $plugin_admin = new Accelvia_Connect_Admin($this->get_plugin_name(), $this->get_version()); $this->loader->add_action('admin_enqueue_scripts', $plugin_admin, 'enqueue_styles'); $this->loader->add_action('admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts'); $this->loader->add_action('admin_menu', $plugin_admin, 'add_plugin_admin_menu'); $this->loader->add_action('admin_init', $plugin_admin, 'register_settings'); } private function define_public_hooks() { $plugin_public = new Accelvia_Connect_Public($this->get_plugin_name(), $this->get_version()); $this->loader->add_action('wp_enqueue_scripts', $plugin_public, 'enqueue_scripts'); $this->loader->add_action('wp_footer', $plugin_public, 'render_buttons'); } public function run() { $this->loader->run(); } public function get_plugin_name() { return $this->plugin_name; } public function get_loader() { return $this->loader; } public function get_version() { return $this->version; } }