Oggi ho testato uno snippet per un cliente che ha un sito realizzato con WooCommerce.

L’obbiettivo che si vuol raggiungere è quello di mostrare, nella pagina Shop del nostro sito, soltanto i prodotti appartenti ad una specifica categoria. Questo può essere utile per esempio qualora il cliente voglia mettere in risalto solo certi tipi di prodotti e celarne altri.

Cercando una soluzione trovo e applico lo snippet realizzato da Rodolfo Melogli risolvendo in breve il “problema”.

Integrare questo codice nel file functions.php del vostro tema child.

/**
 * @snippet       Show Unique Category @ Shop Page
 * @how-to        Watch tutorial @ http://businessbloomer.com/?p=19055
 * @sourcecode    http://businessbloomer.com/?p=19928
 * @author        Rodolfo Melogli
 * @testedwith    WooCommerce 2.5.2
 */

add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

function custom_pre_get_posts_query( $q ) {

    if ( ! $q->is_main_query() ) return;
    if ( ! $q->is_post_type_archive() ) return;

    if ( ! is_admin() && is_shop() ) {

        $q->set( 'tax_query', array(array(
            'taxonomy' => 'product_cat',
            'field' => 'slug',
            'terms' => array( 'black' ), // change 'black' with your cat slug
            'operator' => 'IN'
        )));

    }

    remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

}

Per eventuali necessità, lasciate un vostro commento!

Buon lavoro 😉