Automattic\WooCommerce\Internal\Admin\Settings

LegacySettingsPageAdapter::get_section_navigationprivateWC 1.0

Get secondary settings section navigation for the settings UI shell.

Method of the class: LegacySettingsPageAdapter{}

No Hooks.

Returns

Array. array{id: string, label: string, href: string, active: bool}>

Usage

// private - for code of main (parent) class only
$result = $this->get_section_navigation( $current_section ): array;
$current_section(string) (required)
Current section id.

LegacySettingsPageAdapter::get_section_navigation() code WC 10.9.1

private function get_section_navigation( string $current_section ): array {
	$sections = $this->settings_page->get_sections();
	if ( empty( $sections ) || 1 === count( $sections ) ) {
		return array();
	}

	$navigation = array();
	foreach ( $sections as $id => $label ) {
		$section_id   = (string) $id;
		$navigation[] = array(
			'id'     => '' === $section_id ? 'default' : $section_id,
			'label'  => wp_strip_all_tags( html_entity_decode( (string) $label, ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 ) ),
			'href'   => add_query_arg(
				array(
					'page'    => 'wc-settings',
					'tab'     => sanitize_title( $this->settings_page->get_id() ),
					'section' => sanitize_title( $section_id ),
				),
				admin_url( 'admin.php' )
			),
			'active' => $current_section === $section_id,
		);
	}

	return $navigation;
}