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');