Ordenar productos por estado de inventario o existencias en WooCommerce

En WooCommerce puedes hacer una gestión completa de la existencias, del inventario o stock de tus productos. Solo tienes que activar la gestión de inventario en los ajustes de WooCommerce y luego, en cada producto, indicar la cantidad de existencias disponibles, realmente sencillo.

Luego, en la administración de tu tienda, en la pantalla de productos, tú puedes filtrar tus productos por su nivel de stock o inventario, y hasta aquí bien.

Pero resulta que en la tienda tus clientes no pueden ordenar tus productos por sus existencias, algo a veces importante en muy distintos tipos de tienda.

Por ejemplo, en tiendas online de material de construcción, o de suministros profesionales, el cliente va a querer saber si hay suficientes existencias, si podrá pedir la cantidad que necesita de un producto concreto (tornillos, azulejos, tableros, etc.).

Pero aquí estamos para dar soluciones, no para contar problemas o carencias, que eso ya lo sabes tú ¿verdad?

Ea, pues nada, aquí tienes ese código maravilloso que estabas esperando para que tus clientes también puedan ordenar tus productos por inventario, por la cantidad de existencias.

Apunta:

/* Ordenar productos por inventario */
function filter_woocommerce_get_catalog_ordering_args( $args, $orderby, $order ) { 
switch( $orderby ) {
case 'availability':
$args['orderby'] = 'meta_value_num';
$args['order'] = 'DESC';
$args['meta_key'] = '_stock';
break;
}
return $args;
}
add_filter( 'woocommerce_get_catalog_ordering_args', 'filter_woocommerce_get_catalog_ordering_args', 10, 3 );
function filter_orderby( $orderby ) {
$orderby['availability'] = __( 'Disponibilidad', 'woocommerce' );
return $orderby;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'filter_orderby', 10, 1 );
add_filter( 'woocommerce_catalog_orderby', 'filter_orderby', 10, 1 );
// Optional: mostrar la cantidad de existencias 
function action_woocommerce_after_shop_loop_item() {
global $product;
echo '<div style="color: red !important; font-size: 20px !important;">' . wc_get_stock_html( $product ) . '</div>';
}
add_action( 'woocommerce_after_shop_loop_item', 'action_woocommerce_after_shop_loop_item', 9, 0 );

Lo mejor de este código no es que funcione, que lo hace, es que además te ordena los productos de más a menos existencias, y si quieres (mira las últimas líneas) puede mostrar incluso la cantidad de stock.

¿Qué dónde se añade el código? En esta guía rápida te explico cómo puedes hacerlo, según tu nivel de conocimientos o «ganas» …

Cómo y dónde pegar en WordPress códigos PHP, JS, CSS y funciones que encuentres por ahí

Cualquier duda adicional, ya sabes, déjala abajo en los comentarios 😉

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 2

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

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

Sobre el autor

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba
Ir al contenido