opt = get_option( 'add_search_to_menu' ); $this->define_constants(); $this->includes(); $this->init_hooks(); } /** * Gets the instance of this class. * * @return self */ public static function getInstance() { if ( ! ( self::$_instance instanceof self ) ) { self::$_instance = new self(); } return self::$_instance; } /** * Defines Add Search To Menu Constants. */ private function define_constants() { define( 'ASTM_VERSION', '3.2' ); define( 'ASTM_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); define( 'ASTM_PLUGIN_FILE', __FILE__ ); } /** * Includes required core files used in admin and on the frontend. */ public function includes() { require_once ASTM_PLUGIN_DIR . 'includes/class-astm-activator.php'; require_once ASTM_PLUGIN_DIR . 'includes/class-astm-deactivator.php'; require_once ASTM_PLUGIN_DIR . 'includes/class-astm-i18n.php'; if ( is_admin() ) { require_once ASTM_PLUGIN_DIR . 'admin/class-astm-admin.php'; } else { require_once ASTM_PLUGIN_DIR . 'public/class-astm-public.php'; } require_once ASTM_PLUGIN_DIR . 'includes/class-astm.php'; } /** * Hooks into actions and filters. */ private function init_hooks() { // Executes necessary actions on plugin activation and deactivation. register_activation_hook( ASTM_PLUGIN_FILE, array( 'ASTM_Activator', 'activate' ) ); register_deactivation_hook( ASTM_PLUGIN_FILE, array( 'ASTM_Deactivator', 'deactivate' ) ); } } } /** * Starts plugin execution. */ $astm = Add_Search_To_Menu::getInstance(); new ASTM_Loader( $astm );