Mostrar el estado del stock de variación en productos variables desplegables individuales en Wocommerce 3 [closed]

1 minuto de lectura

Mostrar el estado del stock de variacion en productos variables
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?

Mostrar el estado del stock de variacion en productos variables
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?

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
Privacidad