Q: Wordpress. Как получить посты только категории с ID без дочерних категорий? Получаю посты для категории по ID так
$my_post = query_posts('cat='.$cat); // Где $cat это ID нужной категории

Но выводятся все посты, включая дочерние категории.
Подскажите, как вывести посты определённой категории, исключив дочерние?

A: 
Важно: не используйте query_posts()
query_posts() предназначена для самого WordPress и должна использоваться для
  изменения основного Цикла WordPress, если нужно создать еще одни цикл, то
  используйте get_posts() или WP_Query. С версии 3.0 эти функции могут
  принимать все те же параметры что и query_posts().

Полагаю надо получать как-то так

$myPosts = get_posts(array(
    'category'      => $cat,
    'category_name' => $cat_name // Не уверен, что это необходимо
));

где 
category (строка/число) - Из каких категорий выводить записи. Укажите ID категории из которой нужно получить посты или укажите, -3 вместо 3, если нужно получить все записи, кроме записей из категории 3 (исключить категорию). Можно указать несколько ID через запятую ("3,5,12" или "-3,-5,-12"). Массив передавать нельзя.
По умолчанию: нет
category_name (строка) - посты только из этой категории (указывается название или альтернативное имя(slug) категории).
По умолчанию: нет
 Более подробно можно посмотреть здесь.

A: Используйте параметр category__in вместо cat:
$my_post = query_posts('category__in='.$cat); 

