Плагин для замены атрибутов у товаров в WordPress
Работаю над плагином для замены необходимых атрибутов товаров по нужным параметрам. В данном случае использую получение групп товаров по объему (pa_size). Проблема в том, что товары вариативные и параметры изменяются только в параметрах по умолчанию. Для примера использую атрибут ширины, делаю следующим образом:
// Get all product sizes
$terms = get_terms(array(
'taxonomy' => 'pa_size',
'hide_empty' => false,
));
// // Iterate over all sizes
foreach ($terms as $term) {
// Get all products for the current size
$products = wc_get_products(array(
'limit' => -1,
'tax_query' => array(array(
'taxonomy' => 'pa_size',
'field' => 'slug',
'terms' => array($term->slug),
'operator' => 'IN',
))
));
echo $term->slug;
echo '<br>';
echo ($products);
echo '<br><br>';
foreach ($products as $product) {
$product->set_width(10);
$product->save();
}
}
Проблема в том, что атрибут не меняется у всех вариаций товаров, только в той, что стоит по умолчанию, в чем может быть проблема?
Ответы (1 шт):
Автор решения: Pavel
→ Ссылка
Разобрался сам, как менять дочерние продукты, работает, но не знаю насколько правильно, возможно есть более лучшие решения. просто получаю массив ID дочерних элементов и прохожусь по ним циклом
foreach ($products as $product) {
$product->set_width(10);
$product->save();
$childs = $product->get_children(array(
'limit' => -1,
));
foreach ($childs as $child) {
$my_super_product = wc_get_product( $child );
$my_super_product->set_width(10);
$my_super_product->save();