By the way, I got it worked with this simple script by TOMASZ DZIUDA.
function auto_featured_image() {
global $post;
if (!has_post_thumbnail($post->ID)) {
$attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
if ($attached_image) {
foreach ($attached_image as $attachment_id => $attachment) {
set_post_thumbnail($post->ID, $attachment_id);
}
}
}
}
// Use it temporary to generate all featured images
add_action('the_post', 'auto_featured_image');
// Used for new posts
add_action('save_post', 'auto_featured_image');
add_action('draft_to_publish', 'auto_featured_image');
add_action('new_to_publish', 'auto_featured_image');
add_action('pending_to_publish', 'auto_featured_image');
add_action('future_to_publish', 'auto_featured_image');
This script is very simple – it checks if the specific post has a featured image set and, if the featured image isn’t set, the script checks for the first attached image and sets it as a featured image. This operation is executed for every save or post operation.
As this instruction is executed on every post displayed, introducing a slight performance hit to your website, they recommend removing the following lines once all the featured images have been generated:
// Use it temporary to generate all featured images
add_action(‘the_post’, ‘auto_featured_image’);