Доброго дня,
подскажите пожалуйста, как изменить статус вариации продукта, вместо "нет в наличии" - "доступно для предзаказа"?
Есть вариативный товар с вариациями размеров,
для одной вариации необходимо поменять статус, чтобы для нее всегда был статус "доступен для предзаказа".
Идентифицировать вариацию хотелось бы через артикул (sku) и значение атрибута:
sku = 'TEST-001';
attribute_name = 'pa_size';
value = '35';
Я пытаюсь сделать так, но не работает:
add_filter( 'woocommerce_available_variation', 'enable_backorders_for_variation', 10, 3 );
function enable_backorders_for_variation( $data, $product, $variation ) {
// Get the SKU, attribute name, and value you want to target
$sku_to_find = 'TEST-001';
$attribute_name = 'pa_size';
$target_value = '35';
// Check if the variation matches the SKU
if ( $variation->get_sku() === $sku_to_find ) {
// Get the variation attributes
$attributes = $variation->get_attributes();
// Check if the attribute exists and matches the target value
if ( isset( $attributes[$attribute_name] ) && $attributes[$attribute_name] === $target_value ) {
// Enable backorders
$data['backorders'] = 'yes';
}
}
return $data;
}
Что я делаю не так?
Заранее благодарю за ответ!