function init() {
		$_option = 'pressbooks_theme_options_' . $this->getSlug();
		$_page = $_option;
		$_section = $this->getSlug() . '_options_section';

		if ( false === get_option( $_option ) ) {
			add_option( $_option, $this->defaults );
		}

		add_settings_section(
			$_section,
			$this->getTitle(),
			[ $this, 'display' ],
			$_page
		);

		add_settings_field(
			'ebook_start_point',
			__( 'Ebook Start Point', 'pressbooks' ),
			[ $this, 'renderEbookStartPointField' ],
			$_page,
			$_section,
			[
				__( 'Note: This designated ebook start book may be overridden by some ereader devices.', 'pressbooks' ),
				'label_for' => 'ebook_start_point',
			]
		);

		add_settings_field(
			'ebook_paragraph_separation',
			__( 'Paragraph Separation', 'pressbooks' ),
			[ $this, 'renderParagraphSeparationField' ],
			$_page,
			$_section,
			[
				'indent' => __( 'Indent paragraphs', 'pressbooks' ),
				'skiplines' => __( 'Skip lines between paragraphs', 'pressbooks' ),
			]
		);

		add_settings_field(
			'ebook_compress_images',
			__( 'Compress Images', 'pressbooks' ),
			[ $this, 'renderCompressImagesField' ],
			$_page,
			$_section,
			[
				__( 'Reduce image size and quality', 'pressbooks' ),
			]
		);

		/**
		 * Add custom settings fields.
		 *
		 * @since 3.9.7
		 *
		 * @param string $arg1
		 * @param string $arg2
		 */
		do_action( 'pb_theme_options_ebook_add_settings_fields', $_page, $_section );

		register_setting(
			$_option,
			$_option,
			[ $this, 'sanitize' ]
		);
	}
function init() {
		$_option = 'pressbooks_theme_options_' . $this->getSlug();
		$_page = $_option;
		$_section = $this->getSlug() . '_options_section';

		if ( false === get_option( $_option ) ) {
			add_option( $_option, $this->defaults );
		}

		add_settings_section(
			$_section,
			$this->getTitle(),
			[ $this, 'display' ],
			$_page
		);

		add_settings_field(
			'ebook_start_point',
			__( 'Ebook Start Point', 'pressbooks' ),
			[ $this, 'renderEbookStartPointField' ],
			$_page,
			$_section,
			[
				__( 'Note: This designated ebook start book may be overridden by some ereader devices.', 'pressbooks' ),
				'label_for' => 'ebook_start_point',
			]
		);

		add_settings_field(
			'ebook_paragraph_separation',
			__( 'Paragraph Separation', 'pressbooks' ),
			[ $this, 'renderParagraphSeparationField' ],
			$_page,
			$_section,
			[
				'indent' => __( 'Indent paragraphs', 'pressbooks' ),
				'skiplines' => __( 'Skip lines between paragraphs', 'pressbooks' ),
			]
		);

		add_settings_field(
			'ebook_compress_images',
			__( 'Compress Images', 'pressbooks' ),
			[ $this, 'renderCompressImagesField' ],
			$_page,
			$_section,
			[
				__( 'Reduce image size and quality', 'pressbooks' ),
			]
		);

		/**
		 * Add custom settings fields.
		 *
		 * @since 3.9.7
		 *
		 * @param string $arg1
		 * @param string $arg2
		 */
		do_action( 'pb_theme_options_ebook_add_settings_fields', $_page, $_section );

		register_setting(
			$_option,
			$_option,
			[ $this, 'sanitize' ]
		);
	}
function init ( ) { $ _option = 'pressbooks_theme_options_' . $ this -> getSlug ( ) ; $ _page = $ _option ; $ _section = $ this -> getSlug ( ) . '_options_section' ; if ( false === get_option ( $ _option ) ) { add_option ( $ _option , $ this -> defaults ) ; } add_settings_section ( $ _section , $ this -> getTitle ( ) , [ $ this , 'display' ] , $ _page ) ; add_settings_field ( 'ebook_start_point' , __ ( 'Ebook Start Point' , 'pressbooks' ) , [ $ this , 'renderEbookStartPointField' ] , $ _page , $ _section , [ __ ( 'Note: This designated ebook start book may be overridden by some ereader devices.' , 'pressbooks' ) , 'label_for' => 'ebook_start_point' , ] ) ; add_settings_field ( 'ebook_paragraph_separation' , __ ( 'Paragraph Separation' , 'pressbooks' ) , [ $ this , 'renderParagraphSeparationField' ] , $ _page , $ _section , [ 'indent' => __ ( 'Indent paragraphs' , 'pressbooks' ) , 'skiplines' => __ ( 'Skip lines between paragraphs' , 'pressbooks' ) , ] ) ; add_settings_field ( 'ebook_compress_images' , __ ( 'Compress Images' , 'pressbooks' ) , [ $ this , 'renderCompressImagesField' ] , $ _page , $ _section , [ __ ( 'Reduce image size and quality' , 'pressbooks' ) , ] ) ; /**
		 * Add custom settings fields.
		 *
		 * @since 3.9.7
		 *
		 * @param string $arg1
		 * @param string $arg2
		 */ do_action ( 'pb_theme_options_ebook_add_settings_fields' , $ _page , $ _section ) ; register_setting ( $ _option , $ _option , [ $ this , 'sanitize' ] ) ; }
Configure the ebook options tab using the settings API.
Configure the ebook options tab using the settings API .