settings = new Settings(); $this->cpt = new Registrars\Custom_Post_Types(); $this->tax = new Registrars\Taxonomies(); $this->post_status = new Registrars\Custom_Post_Status(); $this->user_roles = new Overrides\Capabilities(); $this->children['extend_save_post'] = new Extenders\Post\Save_Post(); $this->children['extend_post_properties'] = new Extenders\Post\Properties(); $this->children['extend_acf_pro'] = new Extenders\Advanced_Custom_Fields_Pro(); $this->children['override_post_announcements'] = new Overrides\Post_Announcements(); $this->children['extend_admin_pages'] = new Extenders\Admin\Pages(); $this->children['extend_submissions'] = new Extenders\Submissions(); $this->children['extend_discord'] = new Extenders\Discord_Notification(); $this->children['extend_notifications'] = new Extenders\User_Notifications(); $this->children['extend_admin_scripts'] = new Extenders\Admin_Scripts(); // Ajax requests $this->children['ajax_submissions_save_entry'] = new Extenders\Ajax\Submissions_Save_Entry(); $this->children['ajax_reserve_post_id'] = new Extenders\Ajax\Reserve_Post_ID(); $this->children['ajax_set_favorite_server'] = new Extenders\Ajax\Set_Favorite_Server(); $this->children['ajax_search_game_term'] = new Extenders\Ajax\Search_Game_Term(); $this->children['ajax_search_author_term'] = new Extenders\Ajax\Search_Author_Term(); $this->children['ajax_search_user'] = new Extenders\Ajax\Search_User(); $this->children['ajax_notifications_unread'] = new Extenders\Ajax\Notifications_Unread_To_Read(); $this->children['ajax_notifications_reply'] = new Extenders\Ajax\Notifications_Reply(); $this->children['ajax_notifications_contact'] = new Extenders\Ajax\Notifications_Contact(); $this->children['ajax_submit_notification'] = new Extenders\Ajax\Submit_Notification(); return $this; } /** * Just after theme loaded. * @return void */ public function setup_after_theme() { $this->main_theme_enabled = $this->_is_theme_enabled(); $this->setup_extenders_after_theme(); } /** * Setup hooks that need to be loaded after the theme is loaded and ensure it's the good one. * @return $this */ public function setup_extenders_after_theme(): Plugin { $this->children['extend_timber'] = new Extenders\Timber(); $this->children['extend_dashboard'] = new Extenders\Admin\Dashboard(); return $this; } /** * Check if the RomhackPlaza plugin is enabled or not. * @return bool */ private function _is_theme_enabled(): bool { return class_exists( 'RomhackPlaza\Theme' ) || defined( 'ROMHACKPLAZA_THEME' ); } }