Automattic\WooCommerce\Internal\Admin\Settings

SettingsUISchema::get_page_options │ private static │ WC 1.0

Build options for a legacy page selector.

Method of the class: SettingsUISchema{}

No Hooks.

Returns

array.

Usage

$result = SettingsUISchema::get_page_options( $setting ): array;
$setting(array) (required)
Legacy field definition.

SettingsUISchema::get_page_options() code WC 11.2.1

private static function get_page_options( array $setting ): array {
	$args = array(
		'sort_column' => 'menu_order',
		'sort_order'  => 'ASC',
		'post_status' => array( 'publish', 'private', 'draft' ),
	);

	if ( isset( $setting['args'] ) && is_array( $setting['args'] ) ) {
		$args = wp_parse_args( $setting['args'], $args );
	}

	$options = array(
		array(
			'label' => __( 'Select a page...', 'woocommerce' ),
			'value' => '',
		),
	);

	$pages = get_pages( $args );
	if ( ! is_array( $pages ) ) {
		return $options;
	}

	foreach ( $pages as $page ) {
		$options[] = array(
			'label' => wp_strip_all_tags( $page->post_title ),
			'value' => (string) $page->ID,
		);
	}

	return $options;
}