Automattic\WooCommerce\EmailEditor\Integrations\WooCommerce\Renderer\Blocks
Product_Image::get_product_image_data
Get product image data.
Method of the class: Product_Image{}
No Hooks.
Returns
Array|null.
Usage
// private - for code of main (parent) class only $result = $this->get_product_image_data( $product, $attributes ): ?array;
- $product(WC_Product) (required)
- Product object.
- $attributes(array) (required)
- Parsed attributes.
Product_Image::get_product_image_data() Product Image::get product image data code WC 10.5.0
private function get_product_image_data( \WC_Product $product, array $attributes ): ?array {
$image_size = 'single' === $attributes['imageSizing'] ? 'woocommerce_single' : 'woocommerce_thumbnail';
$image_id = (int) $product->get_image_id();
if ( ! $image_id ) {
$placeholder = wc_placeholder_img_src( $image_size );
return array(
'url' => $placeholder,
'alt' => $product->get_name(),
'width' => 300,
'height' => 300,
);
}
$image_url = wp_get_attachment_image_url( $image_id, $image_size );
if ( ! $image_url ) {
return null;
}
$alt_text = get_post_meta( $image_id, '_wp_attachment_image_alt', true );
$image_meta = wp_get_attachment_metadata( $image_id );
return array(
'url' => $image_url,
'alt' => $alt_text ? $alt_text : $product->get_name(),
'width' => $image_meta['width'] ?? 300,
'height' => $image_meta['height'] ?? 300,
);
}