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?
  • Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.

  • There iis certainly a great deal too larn about this
    issue. I love aall off the points yyou made.

  • Thankos for sharing yor thoughts on 91979. Regards

  • I qujte like looking thropugh an artiicle tha can make people
    think. Also, thanks for permiyting me to comment!

  • Pleasee let me know iif you’re lookinng forr a artiicle author
    for your weblog. Yoou have some reallly grat poets and I
    elieve I wouod be a goood asset. If yyou evfer want tto tale some oof thhe lod
    off, I’d absolutely loove to write somee contejt ffor your blog in exchange forr a link ack tto mine.
    Please blaet me ann e-mail if interested. Regards!

  • Hello, I enjoy reading through youir article. I wanted tto wtite a littlke commnent tto support you.

Déjanos tus comentarios..!

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..?