logooneasesoria4

¿Necesita una consulta gratuita?

Mostrar el total de inventario disponible acumulado sumando todas las variaciones (WooCommerce) @ Ayuda WordPress

Normalmente, una página de producto de WooCommerce muestra la cantidad de inventario de un producto variable únicamente cuando se selecciona una variación, lógicamente mostrando las unidades disponibles de «esa» variación.

Ahora bien, en algunas tiendas, independientemente de la cantidad de inventario de cada variación, puede ser interesante mostrar la cantidad total, la suma del inventario de todas las variaciones.

Así, por ejemplo, si tenemos 20 unidades de un zapato en piel marrón y 10 en piel negra, mostrar – antes de seleccionar cuál queremos y su cantidad disponible – cuántos pares de zapatos de piel tenemos, independientemente de su color.

De eso va el truco de hoy, de mostrar la suma del inventario de todas las variaciones de los productos variables.

Para conseguirlo debes añadir este código, usando el método que prefieras:

/* Mostrar inventario total de todas las variaciones */
// CALCULAMOS EL INVENTARIO ACUMULADO
function ayudawp_inventario_acumulado_variable( $product ) {
if ( $product->get_type() == 'variable' && ! $product->get_manage_stock() ) {
$cumulative_stock = 0;
foreach ( $product->get_available_variations() as $key ) {
$variation = wc_get_product( $key['variation_id'] );
$cumulative_stock += $variation->get_stock_quantity() ? $variation->get_stock_quantity() : 0;
}
}
return $cumulative_stock;
}
// DEFINIMOS LA CANTIDAD DE INVENTARIO DEL PRODUCTO VARIABLE
add_filter( 'woocommerce_get_stock_html', 'ayudawp_inventario_producto_variable', 9999, 2 );
function ayudawp_inventario_producto_variable( $html, $product ) {
$availability = $product->get_availability();
if ( $product->get_type() == 'variable' && empty( $availability['availability'] ) ) {
ob_start();
wc_get_template(
'single-product/stock.php',
array(
'product' => $product,
'class' => ayudawp_inventario_acumulado_variable( $product ) > 0 ? 'in-stock' : 'out-of-stock',
'availability' => sprintf( __( '%s in stock', 'woocommerce' ), ayudawp_inventario_acumulado_variable( $product ) ),
)
);
return ob_get_clean();
}
return $html;
}
// MOSTRAMOS INVENTARIO EN LA PAGINA DE PRODUCTO
add_action( 'woocommerce_before_add_to_cart_form', 'ayudawp_mostrar_inventario_acumulado' );
function ayudawp_mostrar_inventario_acumulado() {
global $product;
$availability = $product->get_availability();
if ( $product->get_type() == 'variable' && empty( $availability['availability'] ) ) {
echo wc_get_stock_html( $product );
}
}

Una vez guardados los cambios pasaremos de esto…

inventario por variacion woocommerce

A esto otro…

Como puedes ver en las capturas anteriores, siempre se muestra el inventario acumulado de todas las variaciones, y cuando el cliente elige una variación, además, se muestra también el inventario de esa variación.

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

¿Te gustó este artículo?
19 de diciembre de 2023

RECIBE

GRATIS

Recursos para tu web GRATIS.

En agradecimiento por haber leido nuestro blog te ofrecemos algúnos plugins, temas y asesoría para el desarrollo de tu sitio web.
Envía correo y espera respuesta...Gracias..!
baneranunciopluginsbest
Publicaciones Relacionadas
Abrir chat
One Asesoría
Hola 👋
¿Necesita cotizar una página o tienda online, cómo podemos ayudarle..?
logooneasesoria1
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Si gustas puedes revisar nuestro Aviso de Privacidad Integral.