Вывод постов только из текущей категории
В новых версиях wordpress для вывода списка постов только из текущей категории, без дочерних, можно использовать следующий код:
add_filter('posts_where', 'in_cat_only');
function in_cat_only($where) {
global $wp_query;
if ($cat = intval($wp_query->query_vars['cat'])) {
$where = preg_replace('/term_taxonomy_id IN \(.*?\)/',"term_taxonomy_id IN ($cat)",$where);
}
return $where;
}
UPD Сергей Бирюков на одном из форумов предложил следующее решение
function no_children($query) {
if ( is_category() )
$query->set( 'category__in', array( get_queried_object_id() ) );
return $query;
}
add_filter('pre_get_posts', 'no_children');

