settings_options = [ [ 'option_group' => Heartbeat_Control::OPTION_NAME, 'option_name' => Heartbeat_Control::OPTION_NAME, 'args' => [ 'sanitize_callback' => [ $this, 'sanitize_settings' ] ], ], ]; $this->settings_sections = [ [ 'id' => 'adminoptimizer-hearbeat-admin', 'title' => __( 'On Admin Pages', 'admin-optimizer' ), 'description' => '', 'menu_slug' => Heartbeat_Control::OPTION_NAME, 'option_name' => Heartbeat_Control::OPTION_NAME, 'fields' => [ [ 'type' => 'radio', 'title' => __( 'Heartbeat Behavior', 'admin-optimizer' ), 'choices' => [ 'default' => __( 'Keep to default settings', 'admin-optimizer' ), 'modify' => __( 'Modify the heartbeat frequency', 'admin-optimizer' ), 'disable' => __( 'Disable the heartbeat', 'admin-optimizer' ), ], 'default' => 'default', 'id' => 'admin', 'name' => 'admin', 'desc' => '', ], [ 'type' => 'select', 'title' => __( 'Heartbeat Frequency', 'admin-optimizer' ), 'choices' => [ '15' => __( '15 seconds', 'admin-optimizer' ), '30' => __( '30 seconds', 'admin-optimizer' ), '45' => __( '45 seconds', 'admin-optimizer' ), '60' => __( '1 minute', 'admin-optimizer' ), '120' => __( '2 minutes', 'admin-optimizer' ), '180' => __( '3 minutes', 'admin-optimizer' ), '240' => __( '4 minutes', 'admin-optimizer' ), '300' => __( '5 minutes', 'admin-optimizer' ), ], 'default' => '60', 'id' => 'admin-freq', 'name' => 'admin_freq', 'disabled' => true, 'desc' => __( 'Change the heartbeat frequency. Default is 1 minute.', 'admin-optimizer' ), ], ], ], [ 'id' => 'adminoptimizer-heartbeat-frontend', 'title' => __( 'On Frontend', 'admin-optimizer' ), 'description' => '', 'menu_slug' => Heartbeat_Control::OPTION_NAME, 'option_name' => Heartbeat_Control::OPTION_NAME, 'fields' => [ [ 'type' => 'radio', 'title' => __( 'Heartbeat Behavior', 'admin-optimizer' ), 'choices' => [ 'default' => __( 'Keep to default settings', 'admin-optimizer' ), 'modify' => __( 'Modify the heartbeat frequency', 'admin-optimizer' ), 'disable' => __( 'Disable the heartbeat', 'admin-optimizer' ), ], 'default' => 'default', 'id' => 'frontend', 'name' => 'frontend', 'desc' => '', ], [ 'type' => 'select', 'title' => __( 'Heartbeat Frequency', 'admin-optimizer' ), 'choices' => [ '15' => __( '15 seconds', 'admin-optimizer' ), '30' => __( '30 seconds', 'admin-optimizer' ), '45' => __( '45 seconds', 'admin-optimizer' ), '60' => __( '1 minute', 'admin-optimizer' ), '120' => __( '2 minutes', 'admin-optimizer' ), '180' => __( '3 minutes', 'admin-optimizer' ), '240' => __( '4 minutes', 'admin-optimizer' ), '300' => __( '5 minutes', 'admin-optimizer' ), ], 'default' => '60', 'id' => 'frontend-freq', 'name' => 'frontend_freq', 'disabled' => true, 'desc' => __( 'Change the heartbeat frequency. Default is 1 minute.', 'admin-optimizer' ), ], ], ], [ 'id' => 'adminoptimizer-heartbeat-editor', 'title' => __( 'On Post Editor', 'admin-optimizer' ), 'description' => '', 'menu_slug' => Heartbeat_Control::OPTION_NAME, 'option_name' => Heartbeat_Control::OPTION_NAME, 'fields' => [ [ 'type' => 'radio', 'title' => __( 'Heartbeat Behavior', 'admin-optimizer' ), 'choices' => [ 'default' => __( 'Keep to default settings', 'admin-optimizer' ), 'modify' => __( 'Modify the heartbeat frequency', 'admin-optimizer' ), 'disable' => __( 'Disable the heartbeat', 'admin-optimizer' ), ], 'default' => 'default', 'id' => 'editor', 'name' => 'editor', 'desc' => '', ], [ 'type' => 'select', 'title' => __( 'Heartbeat Frequency', 'admin-optimizer' ), 'choices' => [ '15' => __( '15 seconds', 'admin-optimizer' ), '30' => __( '30 seconds', 'admin-optimizer' ), '45' => __( '45 seconds', 'admin-optimizer' ), '60' => __( '1 minute', 'admin-optimizer' ), '120' => __( '2 minutes', 'admin-optimizer' ), '180' => __( '3 minutes', 'admin-optimizer' ), '240' => __( '4 minutes', 'admin-optimizer' ), '300' => __( '5 minutes', 'admin-optimizer' ), ], 'default' => '60', 'id' => 'editor-freq', 'name' => 'editor_freq', 'disabled' => true, 'desc' => __( 'Change the heartbeat frequency. Default is 1 minute.', 'admin-optimizer' ), ], ], ], ]; $this->setup(); } /** * Render Settings page * * @return void */ public function render_settings_page() { ?>

render_settings_on_page( Heartbeat_Control::OPTION_NAME ); ?>