Modelo da Página Inicial – Categoria específica

Não consigo encontrar uma solução específica para a minha situação. Estou certo de que isso é fácil. Tenho a minha página inicial configurada para exibir postagens. Como posso restringir as postagens para uma única categoria? Eu procurei em outro lugar sem muita sorte, descobrindo que a página inicial está usando post_formats.

Obrigado!

Solutions Collecting From Web of "Modelo da Página Inicial – Categoria específica"

Supondo que seja um modelo de página que não esteja definido para Blog Posts Page :

Usar pre_get_posts para mostrar apenas uma categoria não funciona, pois a consulta principal contém apenas conteúdo da página e não é um loop de publicação. Então podemos fazer isso usando uma consulta secundária usando WP_Query .

Veja os parâmetros da categoria WP_Query

 < ?php $args = new WP_Query( array( 'cat' => "YOUR CATEGORY ID" ) ); $the_query = new WP_Query( $args ); // The Loop if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); the_content(); } /* Restore original Post Data */ wp_reset_postdata(); } else { // no posts found } 

Se a página estiver definida como Posts Page , podemos usar pre_get_posts (em functions.php )

 function home_category( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'cat', '1' ); // set req. cat id } } add_action( 'pre_get_posts', 'home_category' ); 

Nota:

Como @PieterGoosen apontou:

Páginas únicas não precisam do loop while, só precisa de uma chamada para the_post (). É tudo o que você realmente precisa. No entanto, é sempre melhor include a parte do loop enquanto alguns plugins se have_posts() em have_posts()