Automattic\WooCommerce\Admin\Features\Blueprint
RestApi::export()
Handle the export request.
Method of the class: RestApi{}
No Hooks.
Return
\WP_HTTP_Response
. The response object.
Usage
$RestApi = new RestApi(); $RestApi->export( $request );
- $request(\WP_REST_Request) (required)
- The request object.
RestApi::export() RestApi::export code WC 9.7.1
public function export( $request ) { $payload = $request->get_param( 'steps' ); $steps = $this->steps_payload_to_blueprint_steps( $payload ); $export_as_zip = $request->get_param( 'export_as_zip' ); $exporter = new ExportSchema(); if ( isset( $payload['plugins'] ) ) { $exporter->onBeforeExport( 'installPlugin', function ( ExportInstallPluginSteps $exporter ) use ( $payload ) { $exporter->filter( function ( array $plugins ) use ( $payload ) { return array_intersect_key( $plugins, array_flip( $payload['plugins'] ) ); } ); } ); } if ( isset( $payload['themes'] ) ) { $exporter->onBeforeExport( 'installTheme', function ( ExportInstallThemeSteps $exporter ) use ( $payload ) { $exporter->filter( function ( array $plugins ) use ( $payload ) { return array_intersect_key( $plugins, array_flip( $payload['themes'] ) ); } ); } ); } $data = $exporter->export( $steps, $export_as_zip ); if ( $export_as_zip ) { $zip = new ZipExportedSchema( $data ); $data = $zip->zip(); $data = site_url( str_replace( ABSPATH, '', $data ) ); } return new \WP_HTTP_Response( array( 'data' => $data, 'type' => $export_as_zip ? 'zip' : 'json', ) ); }