У ACF для вывода значений кастомных полей есть функции the_field(), get_field(). Обе функции принимают 2 параметра - ID поста и имя кастомного поля. Поэтому, ваша задача в первую очередь сводится к получению 3х постов, что очень просто:
// параметры для получения постов
$args = array(
'numberposts' => 3,
'orderby' => 'rand', // рандомные 3 поста, удалите строку если надо последние 3
);
// получаем массив постов
$posts_array = get_posts( $args );
// проходимся циклом по массиву постов
foreach( $posts_array as $post ) {
echo '<h1>'.$post->post_title.'</h1>';
echo '<img src="'.get_field( $post->ID, 'custom_field_name' ).'">';
}
Второй echo выводит URL из кастомного поля в тег IMG, чтобы это работало, в настройках этого поля в ACF укажите в качестве return чтобы поле возвращало именно URL.