Automattic\WooCommerce\Admin\Features\Blueprint

SettingOptions::get_page_optionspublicWC 1.0

Get options for a specific settings page.

Method of the class: SettingOptions{}

No Hooks.

Returns

Array.

Usage

$SettingOptions = new SettingOptions();
$SettingOptions->get_page_options( $page_id );
$page_id(string) (required)
The page ID.

SettingOptions::get_page_options() code WC 9.9.5

public function get_page_options( $page_id ) {
	$settings = $this->setting_option_controller->get_group_settings( $page_id );

	if ( is_wp_error( $settings ) ) {
		throw new \Exception( esc_html( $settings->get_error_message() ) );
	}

	$page_options = array();

	foreach ( $settings as $setting ) {
		// Skip if the setting type is not valid.
		if ( in_array( $setting['type'], $this->ignore_setting_types, true ) || ! isset( $setting['id'] ) ) {
			continue;
		}

		$key = is_array( $setting['option_key'] ) ? $setting['option_key'][0] : $setting['option_key'];

		// Skip if the option key is already in the page options.
		if ( in_array( $key, $page_options, true ) ) {
			continue;
		}

		$default_value        = $setting['default'] ?? null;
		$page_options[ $key ] = get_option( $key, $default_value );
	}

	return $page_options;
}