Mostrar el estado del stock de variación en productos variables desplegables individuales en Wocommerce 3 [closed]
⏰ 1 minuto de lectura
Noman Zahid Gilani
Estoy usando Mostrar estado de stock junto a cada valor de atributo en el código de respuesta de productos variables de WooCommerce para mostrar el estado de stock de variación en el menú desplegable de atributos de un solo producto para páginas de productos variables.
Esto funciona bien, pero lleva demasiado tiempo cargar un producto.
¿Cómo podría optimizar el código para que se cargue más rápido?
LoicTheAztec
Use lo siguiente en su lugar, eso será un poco más ligero (por lo que los productos variables deben cargarse rápidamente):
add_filter( 'woocommerce_variation_option_name', 'customizing_variations_terms_name' );
function customizing_variations_terms_name( $term_name ){
global $product;
if( is_admin() ) return $term_name; // Only on frontend single products
// Iterating through each visible product variation Ids
foreach( $product->get_visible_children() as $variation_id ){
$variation = new WC_Product_Variation( $variation_id );
$stock_status = $variation->get_stock_status();
$stock_qty = $variation->get_stock_quantity();
// The attributes taxonomy key and slug value for this variation
$attributes = $variation->get_attributes();
// Caution: Works only for 1 attribute set in the product
if(count($attributes) == 1 ) {
$attributes_keys = array_keys($attributes);
$attr_taxonomy = str_replace('attribute_', '', reset($attributes_keys) );
if( $variation->get_attribute( $attr_taxonomy ) === $term_name ) {
break; // stop the loop
}
}
$term_name .= ' - ' . $stock_status;
$term_name = $stock_qty > 0 ? $term_name . ' ('.$stock_qty.')' : $term_name;
}
return $term_name;
}
Tengo 4 atributos y el stock depende del cuarto, ¿debo hacer algo especial?
– pipoulito
29 sep 2021 a las 18:47
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Configurar y más información