Los productos agotados son un dolor de cabeza para las tiendas online, hemos visto ya cómo gestionarlos en nuestra web para el SEO e imagen de la web. También funcionalidades parecidas a estas como:
- Poner automáticamente los productos agotados al final en WooCommerce
- Cambiar el mensaje de agotado en Woocommerce
En este caso, vamos a no mostrarlos en los relacionados.
Los productos relacionados en las fichas de producto en WooCommerce están para ayudar al usuario a descubrir productos parecidos a los que está viendo. En este caso, los que están sin stock es tontería mostrarlos. Por lo que es mejor omitirlos y mostrar otro en su lugar que tenga mayor posibilidad de venderlo.
Así que en este tutorial vamos a ver cómo ocultarlos y que muestre otros!
Es tan fácil como añadir este snippet a nuestro fichero functions.php de nuestro Child Theme o en un plugin de funcionalidades como explico aquí.
add_filter( 'woocommerce_related_products', 'dl_quitar_productos_agotados_relacionados', 10, 3 );
function dl_quitar_productos_agotados_relacionados( $related_posts, $product_id, $args ){
$out_of_stock_product_ids = (array) wc_get_products( array(
'status' => 'publish',
'limit' => -1,
'stock_status' => 'outofstock',
'return' => 'ids',
) );
$exclude_ids = $out_of_stock_product_ids;
return array_diff( $related_posts, $exclude_ids );
}
Con esto conseguiremos quitarnos este agotado:

Y solo mostrar en stock:

Otros tutoriales de productos relacionados:
- Modificar los productos relacionados en WooCommerce
- Cambiar de H2 a H3 los productos relacionados en el producto WooCommerce
- Poner los productos relacionados en una pestaña en WooCommerce
- Quitar los productos relacionados en WooCommerce
- Lista de espera en WooCommerce
Cualquier duda como siempre, os leo en comentarios!
Muchas gracias por este contenido tan valioso.