Как добавить значение к атрибуту woocommerce через код? Я создал атрибут под названием "Время отправки" (таксономия: pa_dispatch), и теперь я хочу добавить значение к определенному атрибуту Dispatch продукта.
Как это сделать программно?
Как добавить значение к атрибуту woocommerce через код? Я создал атрибут под названием "Время отправки" (таксономия: pa_dispatch), и теперь я хочу добавить значение к определенному атрибуту Dispatch продукта.
Как это сделать программно?
Я нашел ответ, вам нужно использовать 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-commerce.
Вы не можете добавить значение к атрибуту. Вам нужно сделать переменную продукта, создать вариацию и присвоить ее атрибуту. Теперь в этом варианте вы можете присвоить значение.
Режим чтения:
EDIT:
После более подробного разъяснения вопроса, это обновленное решение.
Добавьте функцию ниже к вашим функциям .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);
}
Надеюсь, это поможет!