UPD: есть мысль сравнивать $product->post_modified с настоящей датой и если разница в датах не более 5 суток, то считать этот товар 'новинкой', но вот не знаю, на сколько это правильно...
$query_args = array(
'showposts' => 5,
'post_status' => 'publish',
'post_type' => 'product',
'orderby' => 'date',
'order' => 'DESC',
);
$r = new WP_Query( $query_args );
if ( $r->have_posts() ) {
while ( $r->have_posts() ) {
$r->the_post();
// Вывод
}
}
wp_reset_postdata();