get_posts() — Buscar posts com parâmetros avançados
Causa
Necessidade de recuperar posts fora do loop principal sem configurar um objeto WP_Query completo.
Como resolver
Use get_posts() para consultas simples e pontuais. Para loops mais complexos ou paginação, prefira WP_Query. Lembre de chamar wp_reset_postdata() quando usar setup_postdata().
PHP
<?php
$posts = get_posts([
'post_type' => 'post',
'posts_per_page' => 5,
'post_status' => 'publish',
'orderby' => 'date',
'order' => 'DESC',
'category_name' => 'noticias',
]);
foreach ($posts as $post) {
setup_postdata($post);
echo '<h2>' . get_the_title() . '</h2>';
echo '<p>' . get_the_excerpt() . '</p>';
}
wp_reset_postdata();