Inicio - Cómo cambiar el texto agotado en WooCommerce

Cómo cambiar el texto agotado en WooCommerce

como cambiar el texto agotado en WooCommerce

Hoy toca mostrar un par de sencillos ejemplo para modificar el texto agotado en WooCommerce que aparecen en los productos cuando un producto está agotado o cuando mostramos la disponibilidad de los mismos.

Lo vamos a hacer de 2 maneras personalizando los filtros disponibles llamados woocommerce_get_availability y el woocommerce_get_availability_text, de forma que depende de lo que necesitemos hacer, podemos usar uno u otro haciendo esto un poco más complejo y mostrar el texto que necesitemos mostrar junto a un producto, dependiendo de si un producto está o no en stock o si está disponible para pedirlo, lo que necesites que aparezca.

Por defecto, en las traducciones al español nos va a mostrar el texto «Agotado», pero puede que queramos modificarlo para por ejemplo mostrar el texto «Bajo pedido».

Para realizar esto vamos a añadir el código php a nuestro fichero functions.php que tengamos activo en nuestra instalación (muy recomendable hacerlo con un tema hijo).

Filtro woocommerce_get_availability

				
					add_filter( 'woocommerce_get_availability', 'wc_cambiar_texto_producto_agotado', 1, 2);
function wc_cambiar_texto_producto_agotado( $availability, $_product )
{
// Código que muestra el texto si el producto está disponible
if ( $_product->is_in_stock() )
{
// En este caso no vamos a mostrar ningún texto
//$availability['availability'] = __('Available!', 'woocommerce');
}

// Código para cambiar el texto si el producto no está en stock
if ( ! $_product->is_in_stock() )
{
$availability['availability'] = __('Bajo pedido', 'woocommerce');
}
return $availability;
}
				
			

Una vez guardado el fichero, nuestro WordPress con WooCommerce mostrará automáticamente el nuevo mensaje, que en nuestro ejemplo es «Bajo pedido».

Filtro woocommerce_get_availability_text

				
					add_filter( 'woocommerce_get_availability_text', 'customizing_stock_availability_text', 1, 2);
function customizing_stock_availability_text( $availability, $product ) {
    if ( ! $product->is_in_stock() ) {
        $availability = __( 'Sold Out', 'woocommerce' );
    }
    elseif ( $product->managing_stock() && $product->is_on_backorder( 1 ) )
    {
        $availability = $product->backorders_require_notification() ? __( 'Available on backorder', 'woocommerce' ) : '';
    }
    elseif ( $product->managing_stock() )
    {
        $availability = __( 'Available!', 'woocommerce' );
        $stock_amount = $product->get_stock_quantity();

        switch ( get_option( 'woocommerce_stock_format' ) ) {
            case 'low_amount' :
                if ( $stock_amount <= get_option( 'woocommerce_notify_low_stock_amount' ) ) {
                    /* translators: %s: stock amount */
                    $availability = sprintf( __( 'pocas unidades %s Disponibles!', 'woocommerce' ), wc_format_stock_quantity_for_display( $stock_amount, $product ) );
                }
            break;
            case '' :
                /* translators: %s: stock amount */
                $availability = sprintf( __( '%s Disponibles!', 'woocommerce' ), wc_format_stock_quantity_for_display( $stock_amount, $product ) );
            break;
        }

        if ( $product->backorders_allowed() && $product->backorders_require_notification() ) {
            $availability .= ' ' . __( '(puede pedirse)', 'woocommerce' );
        }
    }
    else
    {
        $availability = '';
    }

    return $availability;
}
				
			

Como vemos el uso de un filtro u otro va a depender de las necesidades de personalización que tengamos de los mensajes de stock que salen junto a los productos en Woocommerce.

Relaccionado: WoocommerceWordpress
Comparte el artículo en tus redes
Facebook
Twitter
LinkedIn
Pinterest
WhatsApp
Scroll al inicio
Scroll to Top
Logo Empc cabecera Diseñadora Web Freelance Experta en WordPress y WooCommerce León

Tus datos de contacto


Servicios que necesitas



Especifica un poco en el mensaje