Esconder categoria

Para esconder uma ou mais categorias no WordPress, neste caso, categoria de produto usamos o seguinte snipet no ficheiro functions.php substituindo os termos no array ‘terms’ separados por virgula. No exemplo abaixo, estamos a filtrar pela slug mas podemos também usar o campo name e filtrar pelo nome da categoria. Usar a slug melhora o filtro de resultados porque não podem exister 2 slugs iguais dentro do WordPress

function exclude_product_cat_children($wp_query) {
if ( isset ( $wp_query->query_vars['product_cat'] ) && $wp_query->is_main_query()) {
    $wp_query->set(
        'tax_query', array( 
            array (
                'taxonomy' => 'product_cat',
                'field' => 'slug',
                'terms' => array('cat', 'dog'),
                'operator' => 'NOT IN',
            ) 
        )
    );
  }
}  
add_filter('pre_get_posts','exclude_product_cat_children');

Etiquetas

Tem dúvidas em como usar esta ajuda?