WooCommerce настраивает выпадающий список вариантов

Можно ли настроить выпадающий список вариантов woocommerce, например, если у нас есть 2 варианта цвет а также размер, с одним цветом размера «Большой» нет в наличии, можно ли добавить «нет в наличии» с каждым вариантом выпадающего меню.

4

Решение

Попробуйте это в вашей теме / functions.php

add_filter( 'woocommerce_variation_option_name', 'customizing_variations_terms_name', 10, 1 );
function customizing_variations_terms_name( $term_name ){

if(is_admin())
return $term_name;

global $product;
$second_loop_stoped = false;

// Get available product variations
$product_variations = $product->get_available_variations();

// Iterating through each available product variation
foreach($product_variations as $variation){

$variation_id = $variation['variation_id'];
$variation_obj = new WC_Product_Variation( $variation_id );

## WOOCOMMERCE RETRO COMPATIBILITY ##
if ( version_compare( WC_VERSION, '3.0', '<' ) ) # BEFORE Version 3 (older)
{
$stock_status = $variation_obj->stock_status;
$stock_qty = intval($variation_obj->stock);

// The attributes WC slug key and slug value for this variation
$attributes_arr = $variation_obj->get_variation_attributes();
}
else # For newest verions: 3.0+ (and Up)
{
$stock_status = $variation_obj->get_stock_status();
$stock_qty = $variation_obj->get_stock_quantity();

// The attributes taxonomy key and slug value for this variation
$attributes_arr = $variation_obj->get_attributes();
}

if(count($attributes_arr) != 1) // Works only for 1 attribute set in the product
return $term_name;

// Get the terms for this attribute
foreach( $attributes_arr as $attr_key => $term_slug){
// Get the attribute taxonomy
$term_key = str_replace('attribute_', '', $attr_key );

// get the corresponding term object
$term_obj = get_term_by( 'slug', $term_slug, $term_key );
if( $term_obj->name == $term_name ){ // If the term name matches we stop the loops
$second_loop_stoped = true;
break;
}
}
if($second_loop_stoped)
break;
}
if( $stock_qty>0 )
return $term_name .= ' - ' . $stock_status . ' ('.$stock_qty.')';
else
return $term_name .= ' - ' . $stock_status;

}

Опубликовано здесь благодаря loictheaztec :

Показывать состояние запаса рядом с каждым значением атрибута в переменных продуктах WooCommerce

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector