file = $file; $this->define_constant(); $this->includes(); $this->init_hooks(); } /** * Define Constant. * * @return void * @since 1.0.0 */ public function define_constant() { define('ACCEVE_VERSION', $this->version); define('ACCEVE_PATH', plugin_dir_path($this->file)); define('ACCEVE_URL', plugin_dir_url($this->file)); define('ACCEVE_BASENAME', basename($this->file)); } /** * Include required files * * @since 1.0.0 */ private function includes() { require_once ACCEVE_PATH . 'includes/class-database.php'; require_once ACCEVE_PATH . 'includes/class-shortcodes.php'; require_once ACCEVE_PATH . 'includes/class-admin.php'; require_once ACCEVE_PATH . 'includes/class-verification.php'; require_once ACCEVE_PATH . 'includes/class-license-handler.php'; } /** * Initialize hooks * * @since 1.0.0 * @return void */ private function init_hooks() { add_action('init', array($this, 'init')); } /** * Initialize plugin components * * @since 1.0.0 * @return void */ public function init() { if(is_admin()){ ACCEVE_Certificate_Verification_Admin::get_instance(); ACCEVE_Certificate_Verification_Database::get_instance(); } ACCEVE_Certificate_Verification::get_instance(); ACCEVE_Certificate_Verification_Shortcodes::get_instance(); add_rewrite_rule( '^verify-certificate/([^/]+)/?([^/]*)/?', 'index.php?pagename=verify-certificate&certificate_id=$matches[1]&certificate_code=$matches[2]', 'top' ); add_rewrite_tag('%certificate_id%', '([^&]+)'); add_rewrite_tag('%certificate_code%', '([^&]+)'); } }