WC_Helper_Admin::get_product_previewpublic staticWC 1.0

Fetch data for product previews from WooCommerce.com.

Method of the class: WC_Helper_Admin{}

No Hooks.

Returns

null. Nothing (null).

Usage

$result = WC_Helper_Admin::get_product_preview( $request );
$request(WP_REST_Request) (required)
Request object.

WC_Helper_Admin::get_product_preview() code WC 10.3.3

public static function get_product_preview( $request ) {
	$product_id = (int) $request->get_param( 'product_id' );

	if ( ! $product_id ) {
		wp_send_json_error(
			array(
				'message' => __( 'Missing product ID', 'woocommerce' ),
			),
			400
		);
	}

	$product_preview = WC_Admin_Addons::fetch_product_preview( $product_id );

	if ( ! $product_preview ) {
		wp_send_json_error(
			array(
				'message' => __( 'We couldn\'t find a preview for this product.', 'woocommerce' ),
			),
			404
		);
	}

	if ( is_wp_error( $product_preview ) ) {
		wp_send_json_error(
			array(
				'message' => $product_preview->get_error_message(),
			)
		);
	}

	if (
		! isset( $product_preview['css'] )
		|| ! is_string( $product_preview['css'] )
		|| ! isset( $product_preview['html'] )
		|| ! is_string( $product_preview['html'] )
	) {
		wp_send_json_error(
			array(
				'message' => __(
					'API response is missing required elements, or they are in the wrong form.',
					'woocommerce'
				),
			),
			500
		);
	}

	$sanitized_product_preview = array(
		'css'  => WC_Helper_Sanitization::sanitize_css( $product_preview['css'] ),
		'html' => WC_Helper_Sanitization::sanitize_html( $product_preview['html'] ),
	);

	wp_send_json( $sanitized_product_preview );
}