Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8962841
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T16:13:27+00:00 2026-06-15T16:13:27+00:00

I have these two functions which I found online and edited to my needs.

  • 0

I have these two functions which I found online and edited to my needs.
What I’m trying to do is to set the thumbnail of a wordpress post to either a default, previously set within the function itself image, or the first image embedded in the post.
However, something went wrong somewhere…

wptuts_save_thumbnail($post_id) -> Set the thumbnail of a post to default OR the first image if it’s not already set (by the author of the post…)!

function wptuts_save_thumbnail( $post_id ) {
$post_thumbnail = get_post_meta( $post_id, '_thumbnail_id', true );

if (!wp_is_post_revision($post_id)) { // Verify that the post is not a revision
    if (empty($post_thumbnail)) {       // Check if Thumbnail does NOT exist!
        $firstImg = firstImg($post_id); // Get the first image of a post (if available)
        if(!$firstImg){ // if available, update the post thumbnail
            update_post_meta( $post_id, '_thumbnail_id', 'link to default image here' );
        } else { // else -> set thumbnail to default thumbnail
            update_post_meta( $post_id, '_thumbnail_id', $firstImg );
        }
    }
}
}

firstImg($post _id) -> Used to get the first image of a post (by id)

function firstImg($post_id) {
  $post = get_post($post_id);
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches[1][0];

  $urlLength = strlen(site_url());
  $first_img = substr($first_img, $urlLength);

  if(empty($first_img)){
    return false;
  }

  return $first_img;
}

The only problem with these functions is in the if(!$firstImg) - else statement.
The image will be always set to default with or without an embedded image in the post.
$firstImg does indeed return the first image if it exists so the problem must be in either of the 2 if‘s: if(empty($first_img)) OR if(!$firstImg).
I tried to look for any clues for the problem but I found nothing.

Hopefully someone can shed some light on this problem 🙂
Thanks in advance!

Additional Info:
– Both of the functions are written in the functions.php of my theme.
– wptuts_save_thumbnail($post_id) is set to run every time a NEW post is published.
– When returned, $first_img is the relative path of the image (i.e /wp-contents/uploads/img.jpg), or false.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T16:13:28+00:00Added an answer on June 15, 2026 at 4:13 pm

    What I can point out by looking at the code, that the check on firstImg:

    if(!$firstImg){ // if available, update the post thumbnail
      update_post_meta( $post_id, '_thumbnail_id', 'link to default image here' );
    } else { // else -> set thumbnail to default thumbnail
      update_post_meta( $post_id, '_thumbnail_id', $firstImg );
    }
    

    seems to return false, which would deliver you the default image.

    What you could do is check the result of the $matches[1][0] in a dump or print_r in the firstImg function. Also check what $first_img is when before returning it. This could help you find the answer, because it seems that you’re not getting the expected in the $first_img.

    Hope that helps.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have these two functions (with Point2D & LineVector (has 2 Point2D member variables)
So I have a numeric value and on those two functions can be applied.
I have these two lines in my web.xml <url-pattern>/</url-pattern> : Index Servlet and <url-pattern>/login</url-pattern>
I have these two tables people ============ id, name and answer_sheets ============ id, person_id,
I have these two modules : package G1; sub new { my $class =
I have these two classes public class Person { } public class Company {
I have these two situations: String s = aa; s = s + aa;
I have these two methods on a class that differ only in one method
I have these two images. And... I made them into graysclae images and then
So, I am adapting some code I found online to suit my needs. However,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.