Use the First Gallery Image When No Featured Image Is Set
When a product is saved without a featured image but has gallery images, the first gallery image becomes its featured image, so it never shows a placeholder.
Opens WPIDE on
Code
add_action( 'woocommerce_before_product_object_save', function ( $product ) {
if ( $product->get_image_id() || $product->is_type( 'variation' ) ) {
return;
}
$gallery = $product->get_gallery_image_ids();
if ( $gallery ) {
$product->set_image_id( (int) reset( $gallery ) );
}
} );
Notes
Runs whenever a product is saved, whether in the admin, through the REST API or by an import, and leaves the gallery unchanged.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.