the_post_thumbnail_url()
отображает URL-адрес миниатюры сообщения (где сообщение здесь относится к глобальному $post
).
В вашем случае, где вы хотите чтобы получить миниатюрный URL-адрес определенного сообщения c (в пределах вашего foreach
), вместо этого можно использовать get_the_post_thumbnail_url()
, который принимает параметр $post
(идентификатор сообщения или WP_Post
объект).
get_the_post_thumbnail_url( $post );
Кроме того, поскольку вы хотите напечатать миниатюру, вы можете использовать get_the_post_thumbnail()
, которая возвращает Добавить тег изображения для печати вместо его URL.
Это будет выглядеть так:
// Get an array containing 10 most recent posts
$recent_posts = wp_get_recent_posts( array(
'numberposts' => 10,
'category' => '',
'post_status' => 'publish',
) );
// Iterate over each post and print its thumbnail
foreach ( $recent_posts as $p ) {
echo get_the_post_thumbnail( $p->ID );
}
Вы можете узнать больше об их различиях:
То есть, если вы хотите использовать существующий код с wp_get_recent_posts()
.
Другим подходом будет создание нового запроса для l oop через ваш последние сообщения, используя WP_Query
, а затем использовать функции WordPress как вы обычно делаете в L oop.
// Create a new query
$recent_posts_query = new WP_Query( array(
'numberposts' => 10,
'category' => '',
'post_status' => 'publish',
) );
if ( $recent_posts_query->have_posts() ) {
while ( $recent_posts_query->have_posts() ) {
$recent_posts_query->the_post();
// Now you can use WordPress functions as you would normally do in The Loop
echo '<h2>' . get_the_title() . '</h2>';
// Print the post thumbnail
the_post_thumbnail();
}
}