options_group_slug = $options_group_slug; $this->section_slug = $section_slug; $this->title = $title; $this->load_dependencies(); $this->add_settings_groups( get_option( $this->options_group_slug ) ); $this->load_options_group(); } protected function load_dependencies(): void { parent::load_dependencies(); require_once plugin_dir_path( __DIR__ ) . 'general/class-reference-container-settings-group.php'; require_once plugin_dir_path( __DIR__ ) . 'general/class-scrolling-settings-group.php'; require_once plugin_dir_path( __DIR__ ) . 'general/class-shortcode-settings-group.php'; require_once plugin_dir_path( __DIR__ ) . 'general/class-numbering-settings-group.php'; require_once plugin_dir_path( __DIR__ ) . 'general/class-hard-links-settings-group.php'; require_once plugin_dir_path( __DIR__ ) . 'general/class-love-settings-group.php'; require_once plugin_dir_path( __DIR__ ) . 'general/class-excerpts-settings-group.php'; require_once plugin_dir_path( __DIR__ ) . 'general/class-amp-compat-settings-group.php'; } protected function add_settings_groups(): void { $this->settings_groups = array( AMPCompatSettingsGroup::GROUP_ID => new AMPCompatSettingsGroup( $this->options_group_slug, $this->section_slug, $this->settings ), ReferenceContainerSettingsGroup::GROUP_ID => new ReferenceContainerSettingsGroup( $this->options_group_slug, $this->section_slug, $this->settings ), ScrollingSettingsGroup::GROUP_ID => new ScrollingSettingsGroup( $this->options_group_slug, $this->section_slug, $this->settings ), ShortcodeSettingsGroup::GROUP_ID => new ShortcodeSettingsGroup( $this->options_group_slug, $this->section_slug, $this->settings ), NumberingSettingsGroup::GROUP_ID => new NumberingSettingsGroup( $this->options_group_slug, $this->section_slug, $this->settings ), HardLinksSettingsGroup::GROUP_ID => new HardLinksSettingsGroup( $this->options_group_slug, $this->section_slug, $this->settings ), ExcerptsSettingsGroup::GROUP_ID => new ExcerptsSettingsGroup( $this->options_group_slug, $this->section_slug, $this->settings ), LoveSettingsGroup::GROUP_ID => new LoveSettingsGroup( $this->options_group_slug, $this->section_slug, $this->settings ), ); } }