Crear nuevos estados de inventario en WooCommerce

LucusHost, el mejor hosting

Por defecto en WooCommerce podemos elegir entre los diferentes tipos de inventario: Disponible, Agotado o En reserva. Esto nos sirve para una tienda online básica, pero si queremos personalizar diferentes tipos para nuestro sector va a ser complicado con los que tenemos por defecto.

Un ejemplo sería en nuestra tienda online tenemos varios productos descatalogados que no vamos a volver a recibir, ya que el fabricante no va a seguir fabricando, pero no queremos borrarlo ya que estamos aplicando nuestra estrategia de productos agotados o cross-selling para aumentar el pedido medio de nuestra tienda online.

En este tutorial vamos a ver cómo crearlo tanto con código cómo con plugin, a gusto de todos.

Añadir estado del inventario por código

En este caso podemos añadir el siguiente código, que podéis personalizar con el estado que queráis. En este caso añadimos dos nuevos estados: descatalogado y contactar. Este último para tiendas B2B por ejemplo. Recuerda que debes copiarlo en el functions.php de vuestro child theme o bien como explico aquí mediante un plugin.

// ANadir nuevas opciones de estado de las acciones
function filter_woocommerce_product_stock_status_options( $status ) {
    // Add new statuses
    $status['descatalogado'] = __( 'Descatalogado', 'woocommerce' );
    $status['contactar'] = __( 'Contactar', 'woocommerce' );

    return $status;
}
add_filter( 'woocommerce_product_stock_status_options', 'filter_woocommerce_product_stock_status_options', 10, 1 );

// Texto de disponibilidad
function filter_woocommerce_get_availability_text( $availability, $product ) {
    // Get stock status
    switch( $product->get_stock_status() ) {
        case 'descatalogado':
            $availability = __( 'Descatalogado', 'woocommerce' );
        break;
        case 'contactar':
            $availability = __( 'Contactar', 'woocommerce' );
        break;
    }

    return $availability; 
}
add_filter( 'woocommerce_get_availability_text', 'filter_woocommerce_get_availability_text', 10, 2 );

// Para las clases CSS
function filtrar_woocommerce_estados_inventario( $class, $product ) {
    // Get stock status
    switch( $product->get_stock_status() ) {
        case 'descatalogado':
            $class = 'invdescatalogado';
        break;
        case 'contactar':
            $class = 'invcontactar';
        break;
    }

    return $class;
}
add_filter( 'woocommerce_get_availability_class', 'filtrar_woocommerce_estados_inventario', 10, 2 );

Con esto conseguiremos el siguiente resultado:

crear otros estados de inventario woocommerce

Añadir estados de inventario con un plugin

Si le tenemos miedo al código o queremos algo más personalizado, usaremos el plugin Woo Custom Stock Status, disponible en el repositorio oficial de WordPress. Con este plugins podremos personalizar más nuestros estados de inventario a:

  • Hay existencias
  • Solo quedan %s existencias
  • (se puede reservar)
  • Hay %s existencias
  • Disponible para reserva
  • Agotado

Si no nos gusta alguno y queremos otro, cambiamos las traducciones desde WooCommerce > Ajustes > Inventario personalizado, por ejemplo:

woo custom stock tutorial

Como podemos ver podemos personalizar los nombre y colores como queramos. Una vez que tenemos esta parte hecha, ya en cada producto podremos ver en los inventarios cual escogemos.

Como siempre cualquier duda nos vemos en comentarios y os deseo un buen inicio de año!

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 5)
mailerlite diegol

Especialista en Comercio electrónico con Woocommerce. Te ayudo a crear, gestionar y publicitar tu Ecommerce en función de tu sector y público objetivo. Puedes encontrarme en Diegol.top

¿Necesitas ayuda con este tutorial? Mándame un correo y te resuelvo todas las dudas!


Ver servicios Curso de WooCommerce

También puedes realizar una donacion para seguir apoyando la salida de nuevos tutoriales y actualizaciones

mailerlite diegol

Reader Interactions

comentarios

  1. jose says

    Gracias por el código.
    La guinda sería que no mostrase el botón Comprar, pues si está descatalogado… no tendría que dejar comprarlo, al igual que el estado Sin stock, que oculta el botón.
    Un saludo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *