To set the first image as a featured image for a post in WordPress you can use the following hooks.
Featured image is required for all posts as maximum blogging themes look perfect if you have featured image uploaded, and this featured image also required for providing meta image data for the posts when you share an image.
Here we used posts filter to check if a post has any featured image. In the case, if there is no featured image the filter will get the first image of the post and generate the attachment id from the image URL and set it as the featured image of the post