Excluir productos de una categoría en la página de la tienda

A la hora de mostrar el stock disponible de productos en una tienda WooCommerce, las opciones son bastante limitadas. Por eso sería interesante tener diferentes frases o formatos para mostrar el stock que incentiven al visitante a realizar la compra. Una manera de hacerlo es mediante un código como el siguiente, que como siempre deberemos incluir en el archivo functions.php:

Al manejar una tienda WooCommerce, puede ocurrir que necesitemos tener cargados algunos productos que no queramos que aparezcan en la página principal del shop. Mediante el siguiente código, que deberemos incluir en el archivo functions.php de nuestro tema, podemos ocultar de la tienda los productos asignados a una determinada categoría (sólo debemos reemplazar «clothing» por el slug de la categoría que queremos ocultar).

/**
 * Exclude products from a particular category on the shop page
 */
function custom_pre_get_posts_query( $q ) {

    $tax_query = (array) $q->get( 'tax_query' );

    $tax_query[] = array(
           'taxonomy' => 'product_cat',
           'field' => 'slug',
           'terms' => array( 'clothing' ), // Don't display products in the clothing category on the shop page.
           'operator' => 'NOT IN'
    );


    $q->set( 'tax_query', $tax_query );

}
add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );  

De esta manera, los productos sólo podrán ser vistos por quienes cuenten con el enlace permanente del producto (vía WooCommerce).

Deja una respuesta

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