loader = new Robotstxt_Manager_Loader(); $this->define_hooks(); } /** * Wires component callbacks into the loader. * * @return void */ private function define_hooks(): void { $this->loader->add_action( 'init', $this, 'load_textdomain' ); $admin = new Robotstxt_Manager_Admin(); $settings = new Robotstxt_Manager_Settings(); $installer = new Robotstxt_Manager_Installer(); $updater = new Robotstxt_Manager_Updater(); $admin->register( $this->loader ); $settings->register( $this->loader ); $installer->register( $this->loader ); $updater->register( $this->loader ); } /** * Loads the plugin text domain for i18n. * * @return void */ public function load_textdomain(): void { load_plugin_textdomain( 'robotstxt-manager', false, dirname( ROBOTSTXT_MANAGER_BASENAME ) . '/languages' ); } /** * Dispatches all registered hooks to WordPress. * * @return void */ public function run(): void { $this->loader->run(); } }