function wpai_woodmart_gallery_image_imported( $post_id, $att_id, $filepath, $is_keep_existing_images = '' ) {
$product = wc_get_product( $post_id );
if ( ! $product ) return;
$variationID_first = get_post_meta( $product->get_id(), wpai_woocommerce_add_on\XmlImportWooCommerceService::FIRST_VARIATION, TRUE );
if ( $product->is_type( 'variation' ) || ! empty( $variationID_first ) ) {
if ( empty( $variationID_first ) ) {
$variationID = $product->get_id();
$parent = $product->get_parent_id();
} else {
$variationID = $variationID_first;
$parent = $product->get_id();
}
$gallery = get_post_meta( $parent, 'woodmart_variation_gallery_data', true );
if ( empty( $gallery ) ) {
$gallery = array();
} else {
$gallery = maybe_unserialize( $gallery );
}
if ( array_key_exists( $variationID, $gallery ) ) {
$existing = explode( ',', $gallery[ $variationID ] );
$existing[] = $att_id;
$gallery[ $variationID ] = implode( ',', $existing );
} else {
$gallery[ $variationID ] = $att_id;
}
// filter out featured images from variation galleries.
$gallery[ $variationID ] = implode( ',', array_diff( explode( ',', $gallery[ $variationID ] ), get_post_meta( $variationID, '_thumbnail_id', false ) ) );
update_post_meta( $variationID, 'wd_additional_variation_images_data', $gallery[ $variationID ] );
update_post_meta( $parent, 'woodmart_variation_gallery_data', $gallery );
}
}
add_action( 'pmxi_gallery_image', 'wpai_woodmart_gallery_image_imported', 10, 4 );
Last active
May 3, 2024 17:45
-
-
Save trey8611/b9c0a6f6218c43608dbf818284e9558d to your computer and use it in GitHub Desktop.
[WoodMart Additional Variation Images]
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@trey8611 THANKS! You saved my life.
@NerQuiLes you should update the line that @dauclair951 mentioned above to make it work.
@asify3409 it works without adding any custom field. Just paste the code in your functions.php