gente, estou com o mesmo problema, mas é mais grave:
query_posts(array('post_type' => 'post')); // por exemplo
get_template_part( 'loop', 'index' );
O item no menu dessa página fica apagado, e já sei porque: porque para adicionar a classe CSS de página atual, uma função verifica uma variavel que tem o id da página com uma outra variável.
A primeira já identifiquei que é $wp_query->queried_object_id
pois por exemplo, se estou na página com querystring page_id=10, e coloco o $wp_query->queried_object_id = ‘8’ (antes do código do nav-menu, e SEM o query_posts), o item no menu que acende é o da página 8, mesmo eu estando vendo a 10.
$wp_query->queried_object_id = '8';
get_template_part( 'loop', 'index' );
Achei qque seria simple resolver colocando o $wp_query->queried_object_id com o id real da página assim:
query_posts(array('post_type' => 'post'));
$wp_query->queried_object_id = '10'; //page_id real
get_template_part( 'loop', 'index' );
Mas não resolveu! =(
Alguém consegue desvendar esse mistéeeeerio??