Вы можете сделать это, как сказано в моем комментарии:
1: запрос всех сообщений
$args = array(
'posts_per_page' => -1,
'post_type' => 'post',
);
$the_query = new WP_Query( $args );
2: зацикливание на всех сообщениях и сохранение URL-адреса миниатюр
$thumbs_urls = [];
foreach($the_query->posts as $post){
$thumbs_urls[$post->ID] = get_the_post_thumbnail_url($post);
}
3: $thumbs_urls
должно дать вам что-то вроде этого (где ключ массива - это идентификатор сообщения)
[
1 => 'https://post_1_thumb_url.jpg',
2 => 'https://post_2_thumb_url.jpg'
]
Не проверено, но должно работать.
Примечание: если у вас очень большое количество постов и, в зависимости от вашей конфигурации PHP, может возникнуть тайм-аут. Если это добавится, вы можете использовать параметры запроса post_per_page
и page
, чтобы ограничить время выполнения и сделать это «шаг за шагом».