Я пытаюсь добавить новый атрибут с несколькими значениями в существующий продукт WooCommerce.
Это код, который я использую. Я немного упростил его, чтобы сделать его более понятным.
$productId = 87356;
$attr = get_post_meta( $productId, '_product_attributes', true );
$gears = [ '3', '7' ];
$attr['pa_aantal-versnellingen'] = [
'name' => 'pa_aantal-versnellingen',
'value' => implode(' | ', $gears),
'is_visible' => '1',
'is_variation' => '1',
'is_taxonomy' => '1'
];
update_post_meta( $productId, '_product_attributes', $attr );
foreach ( $gears as $gear ) {
wp_set_object_terms( $productId, $gear, 'pa_aantal-versnellingen', true );
}
Атрибут появляется в списке атрибутов на товаре. Однако условия не добавляются.
Термины также существуют в БД:
Что я делаю не так? Я провел много исследований, прочитал некоторые другие вопросы, но они мне не помогли.
Создать новый атрибут продукта программно в Woocommerce