WC_REST_Settings_V2_Controller::get_items()publicWC 3.0.0

Get all settings groups items.

Метод класса: WC_REST_Settings_V2_Controller{}

Хуки из метода

Возвращает

WP_Error|WP_REST_Response.

Использование

$WC_REST_Settings_V2_Controller = new WC_REST_Settings_V2_Controller();
$WC_REST_Settings_V2_Controller->get_items( $request );
$request(WP_REST_Request) (обязательный)
Request data.

Список изменений

С версии 3.0.0 Введена.

Код WC_REST_Settings_V2_Controller::get_items() WC 8.7.0

public function get_items( $request ) {
	$groups = apply_filters( 'woocommerce_settings_groups', array() );
	if ( empty( $groups ) ) {
		return new WP_Error( 'rest_setting_groups_empty', __( 'No setting groups have been registered.', 'woocommerce' ), array( 'status' => 500 ) );
	}

	$defaults        = $this->group_defaults();
	$filtered_groups = array();
	foreach ( $groups as $group ) {
		$sub_groups = array();
		foreach ( $groups as $_group ) {
			if ( ! empty( $_group['parent_id'] ) && $group['id'] === $_group['parent_id'] ) {
				$sub_groups[] = $_group['id'];
			}
		}
		$group['sub_groups'] = $sub_groups;

		$group = wp_parse_args( $group, $defaults );
		if ( ! is_null( $group['id'] ) && ! is_null( $group['label'] ) ) {
			$group_obj  = $this->filter_group( $group );
			$group_data = $this->prepare_item_for_response( $group_obj, $request );
			$group_data = $this->prepare_response_for_collection( $group_data );

			$filtered_groups[] = $group_data;
		}
	}

	$response = rest_ensure_response( $filtered_groups );
	return $response;
}