PHP код для исключения отображения записей в родительской категории.
Код нужно добавить в файл functions.php своей темы WordPress.
Следующий код исключает показ постов из подкатегорий в родительской категории:
function wpse_filter_child_cats( $query ) {
if ( $query->is_category ) {
$queried_object = get_queried_object();
$child_cats = ( array )get_term_children( $queried_object->term_id, 'category' );
if ( !$query->is_admin )
//exclude the posts in child categories
$query->set( 'category__not_in', array_merge( $child_cats ) );
}
return $query;
}
add_filter( 'pre_get_posts', 'wpse_filter_child_cats' );
if ( $query->is_category ) {
$queried_object = get_queried_object();
$child_cats = ( array )get_term_children( $queried_object->term_id, 'category' );
if ( !$query->is_admin )
//exclude the posts in child categories
$query->set( 'category__not_in', array_merge( $child_cats ) );
}
return $query;
}
add_filter( 'pre_get_posts', 'wpse_filter_child_cats' );