options = $options;
$this->init();
}
/**
* Start the engine running
*
* @return void
*/
private function init() {
add_filter( 'adminoptimizer_settings_navtab', [ $this, 'add_settings_navtab' ] );
add_filter( 'adminoptimizer_settings_sections', [ $this, 'settings_fields' ] );
if ( ! empty( $this->options['enable_txt_management'] ) ) {
$this->modules['txt'] = new Ads_Robots_Txt();
}
if ( ! empty( $this->options['enable_xml_sitemap'] ) ) {
$this->modules['sitemap'] = new XML_Sitemap();
}
}
/**
* Add settings navtab
*
* @param array $nav_tab List of nav tabs.
*
* @return array
*/
public function add_settings_navtab( $nav_tab ) {
if ( empty( $nav_tab['site-management'] ) ) {
$nav_tab['site-management'] = [
'title' => __( 'Site Management', 'admin-optimizer' ),
'slug' => 'adminoptim-site-settings',
];
}
return $nav_tab;
}
/**
* List of Settings fields
*
* @param array $fields Settings fields.
*
* @return array
*/
public function settings_fields( $fields ) {
if ( empty( $fields['site-management'] ) ) {
$modules = [
'txt-mgt' => [
'type' => 'slider-checkbox',
'title' => __( 'Robots.txt, ads.txt and app-ads.txt on your site', 'admin-optimizer' ),
'id' => 'enable-txt-management',
'name' => 'enable_txt_management',
// translators: %1$s is the line break tag. %2$s is the anchor tag. %3$s is the anchor closure tag.
'label' => sprintf( __( 'Manage robots.txt, ads.txt, app-ads.txt directly in WordPress.%1$s%2$sLearn more%3$s', 'admin-optimizer' ), '
', '', '' ),
],
'xml-sitemap' => [
'type' => 'slider-checkbox',
'title' => __( 'XML Sitemap on your site (Pro option)', 'admin-optimizer' ),
'id' => 'enable-xml-sitemap',
'name' => 'enable_xml_sitemap',
// translators: %1$s is the line break tag. %2$s is the anchor tag. %3$s is the anchor closure tag.
'label' => sprintf( __( 'Enable and manage XML Sitemap for your site. (comes with Pro options)%1$s%2$sLearn more%3$s', 'admin-optimizer' ), '
', '', '' ),
],
];
$fields['frontend-management'] = [
'id' => 'adminoptimizer-site-settings',
'title' => '',
'description' => '',
'menu_slug' => 'adminoptim-site-settings',
'option_name' => MODULES_OPTION,
'fields' => $modules,
];
}
return $fields;
}
}