Программное добавление вариативного товара в WooCommerce
5 дек. 2012 г., 12:24:04
Просмотры: 19.7K
Голосов: 5
Как сделать товар вариативным и добавить вариации? Обрабатываются ли вариации как атрибуты?
Этот код создает товар и добавляет атрибут (размер XL), но я не могу сделать этот атрибут вариацией с индивидуальной ценой и т.д.
Это функция, вызываемая через AJAX:
function createnewproduct(){
$new_post = array(
'post_title' => "Custom Variable",
'post_content' => 'Lorem ipsum dolor sit amet...',
'post_status' => 'publish',
'post_type' => 'product'
);
$skuu = randomsku('csm','custom',6);
$post_id = wp_insert_post($new_post);
update_post_meta($post_id, '_sku', $skuu );
update_post_meta( $post_id, '_price', "25" );
// Сделал товар вариативным, но вариации не добавляются!
wp_set_object_terms ($post_id, 'variable', 'product_type');
wp_set_object_terms( $post_id, 'XL', 'pa_size' );
// Все работает, но
// Как сделать атрибут "pa_size" вариацией?
update_post_meta( $post_id, '_visibility', 'search' );
update_post_meta( $post_id, '_stock_status', 'instock');
}
Эта функция объявляет в WooCommerce, что новый товар является вариативным и добавляет атрибут "размер". Проблема в том, как указать WooCommerce, что атрибут "размер" должен быть вариацией.

markware
121
Комментарии
Все ответы на вопрос
1
0
Нашел решение, как сделать атрибут товара вариацией. Допустим, у нас есть:
wp_set_object_terms( $post_id, 'XL', 'pa_size' );
Выше приведен пользовательский атрибут (атрибут размера). Чтобы сделать его вариацией, нужно выполнить следующее:
$thedata = Array('pa_size'=>Array(
'name'=>'pa_size',
'value'=>'',
'is_visible' => '1',
'is_variation' => '1',
'is_taxonomy' => '1'
));
update_post_meta( $post_id,'_product_attributes',$thedata);

markware
121
6 дек. 2012 г. 11:55:46
Похожие вопросы
2
ответов