Actualmente en woocommerce, botón agregar al carrito deshabilitado, si el estado del stock es out of stock
. Agrego nuevo estado de stock con la etiqueta Discontinued product
mediante el uso woocommerce_product_stock_status_options
ahora estoy buscando una manera de tratar este producto como si estuviera agotado.
Ya que creo que es mejor separar entre un producto que ya no se produce y un producto que se produjo y está disponible en otra tienda pero no está en stock.
Puede usar lo siguiente para deshabilitar el botón Agregar al carrito en función de un estado de stock personalizado (donde reemplazará custom_status_slug
por su slug de estado personalizado):
add_filter('woocommerce_is_purchasable', 'filter_is_purchasable_callback', 10, 2 );
add_filter('woocommerce_variation_is_purchasable', 'filter_is_purchasable_callback', 10, 2 );
function filter_is_purchasable_callback( $purchasable, $product ) {
if ( $product->get_stock_status() === 'custom_status_slug' ) {
return false;
}
return $purchasable;
}
El código va en el archivo functions.php del tema secundario activo (o tema activo). Probado y funciona.
Propongo una solución que muestra el estado del stock en la página del producto pero no el botón ‘agregar al carrito’
add_filter('woocommerce_product_is_in_stock', 'filter_is_in_stock_callback', 10, 2 );
function filter_is_in_stock_callback( $stock, $product ) {
if ( $product->get_stock_status() === 'custom_status_slug' ) {
return false;
}
return $stock;
}
Gracias por la primera respuesta 🙂