У меня есть сайт woocommerce со сгруппированными товарами, каждый дочерний товар имеет свои собственные изображения, поэтому к ним можно получить доступ отдельно.
Я хочу включить все изображения дочерних товаров в сгруппированную галерею товаров. Таким образом, в случае изменения дочернего изображения также изменяется сгруппированная галерея продуктов.
Я попробовал этот код:
Код: Выделить всё
function get_data_from_chid_products() {
global $product;
if (!$product instanceof WC_Product_Grouped){
return;
}
$child = $product->get_children();
$images = [];
foreach ($child as $key => $value) {
$child_product_data = wc_get_product($value)->get_data();
if ($key == 0){
$main_image = $child_product_data['image_id'];
} else {
$images[] = $child_product_data['image_id'];
}
foreach ($child_product_data['gallery_image_ids'] as $value) {
$images[] = $value;
}
}
$unique_image_ids = array_unique($images);
$product->set_image_id($main_image);
$product->set_gallery_image_ids($unique_image_ids);
$product->apply_changes();
}
add_action( 'init', 'get_data_from_chid_products', 5 );
Подробнее здесь: https://stackoverflow.com/questions/507 ... oocommerce
Мобильная версия