Por que o tema insere a seção de comentários se eu não redefinir meu WP_Query personalizado?

Eu tenho uma situação estranha. De alguma forma eu resolvi isso, mas estou tentando entender por que minha solução funciona.

Estou usando o TheBuilt, um tema que usa o Visual Composer. Eu estendi o Visual Composer com um elemento personalizado que eu uso para exibir uma página de postagem personalizada (o loop principal não está sendo usado nessa página nem nenhum outro loop personalizado). Para criar um object de postagem, crio um novo object WP_Query que se parece com isto:

$categories_ids = '3,5' //examplary values $query = array( 'post_type' => 'post', 'cat' => $categories_ids, 'taxonomy' => 'category', 'orderby' => 'date', 'order' => 'DESC' ); $posts = new WP_Query($query); 

Em seguida, use o object $posts com get_the_title , get_permalink() etc. para construir blocos html. No entanto, quando adicionei esse elemento a uma página, o tema exibiu a seção de comentários abaixo do conteúdo da página, embora eu tivesse Allow Comments desmarcados nas opções da página. Descobri que isso não acontece quando evoco wp_reset_query() na minha function shortcode antes de retornar o bloco html.

Por que é que? O que exatamente wp_reset_query() faz nessa situação? Isso destrói alguma variável ou destruir meu object de postagem, que o tema pode verificar para decidir se exibe a seção de comentários? Eu verifiquei o códice wordpress e ele afirma explicitamente o seguinte :

Como estamos usando o novo WP_Query, não estamos pisando no $ wp_query original e não precisa ser redefinido com wp_reset_query ()

O tema é de nível profissional e, tanto quanto eu posso dizer, bastante bem escrito, então não acho que seja apenas um erro no tema, mas sim alguma funcionalidade ou interação que estou faltando (e é por isso que eu pergunto isso aqui e não nos fóruns de apoio ao tema) …

Solutions Collecting From Web of "Por que o tema insere a seção de comentários se eu não redefinir meu WP_Query personalizado?"