Perhaps just being sure that you set your image data within what WordPress calls “the loop” (aka inside that while where $post is set so that get_the_ID returns the info for the post currently being looped over) will get you running. Here is one idea how you might accomplish that:
<?php
if (have_posts()) :
while(have_posts()) :
$i++;
if(($i % 2) == 0) :
$wp_query->next_post();
else :
the_post();
// so
$featured_image_data = thrive_get_post_featured_image(
get_the_ID(),
$options['featured_image_style']
);
$featured_image = $featured_image_data['image_src'];
$featured_image_alt = $featured_image_data['image_alt'];
$featured_image_title = $featured_image_data['image_title'];
$post_format = get_post_format();
if (isset($options['meta_post_date']) &&
$options['meta_post_date'] == 1 &&
isset($options['meta_post_date_type'])) {
$post_date = thrive_get_post_date(
$options['meta_post_date_type'],
$options['relative_time']);
}
?>
<?php tha_entry_before(); ?>
<li class="post post-r post-single">
<?php tha_entry_top(); ?>
… etc