woocommerce: добавьте ценность к атрибуту продукта

Как добавить значение в атрибут woocommerce через код? Я создал атрибут "Время отправки" (таксономия: pa_dispatch) и теперь хочу добавить значение к атрибуту "Отправка" определенного продукта.

Как это сделать программно?

2 ответа

Решение

Я нашел ответ, вам нужно использовать wp_set_object_terms, чтобы установить условия объекта таксономии,

wp_set_object_terms( $object_id, $terms, $taxonomy, $append);

Где, $append может быть true или же falseесли true, тег будет добавлен к существующему тегу, если false, тег заменяется.

В моем примере

wp_set_object_terms( $object_id, '2 Business Days', 'pa_dispatch' , false);

Здесь pa_dispatch это таксономия Woo-коммерции.

Вы не можете добавить значение к атрибуту. Вам нужно сделать переменную продукта, создать вариант и назначить его с атрибутом. Теперь в этом варианте вы можете назначить значение.

Конфигурация атрибутов

Конфигурация Вариаций

Режим чтения:

  1. http://docs.woothemes.com/document/product-variations/
  2. http://www.youtube.com/watch?v=7PX8MWBOAeo

РЕДАКТИРОВАТЬ:

После дополнительных разъяснений по этому вопросу, вот обновленное решение.

Добавьте указанную ниже функцию в ваш functions.php. Вызовите его на соответствующем хуке и передайте идентификатор продукта, а также значения атрибутов.

function se19519561_set_attributes($post_id, $attributes) {

    //Type attribute
    $product_attributes['type'] = array(
        //Make sure the 'name' is same as you have the attribute
        'name' => htmlspecialchars(stripslashes('Dispatch Time')),
        'value' => $attributes,
        'position' => 1,
        'is_visible' => 1,
        'is_variation' => 1,
        'is_taxonomy' => 0
    );

//Add as post meta
update_post_meta($post_id, '_product_attributes', $product_attributes);

}

Надеюсь это поможет!

Другие вопросы по тегам