WC_REST_Products_Catalog_Controller::request_catalog
Request products catalog.
Method of the class: WC_REST_Products_Catalog_Controller{}
No Hooks.
Returns
WP_Error|WP_REST_Response.
Usage
$WC_REST_Products_Catalog_Controller = new WC_REST_Products_Catalog_Controller(); $WC_REST_Products_Catalog_Controller->request_catalog( $request );
- $request(WP_REST_Request) (required)
- Request data.
WC_REST_Products_Catalog_Controller::request_catalog() WC REST Products Catalog Controller::request catalog code WC 10.4.3
public function request_catalog( $request ) {
$fields = $this->sanitize_fields_arg( $request->get_param( 'fields' ) ?? array() );
$force_generate = $request->get_param( 'force_generate' ) ?? false;
$file_info = $this->get_catalog_file_info( $fields );
if ( is_wp_error( $file_info ) ) {
return $file_info;
}
// Check if file exists and force_generate is false.
if ( ! $force_generate && file_exists( $file_info['filepath'] ) ) {
$response_data = array(
'status' => 'complete',
'download_url' => $file_info['url'],
);
return rest_ensure_response( $response_data );
}
// Generate catalog and return response.
return $this->catalog_generation_response( $file_info );
}