Where is the post featured image link stored in the WordPress database?

Where is the featured image link stored in the WordPress Database? I searched in the wp_postmeta table but I cannot find out the exact post_id and links.

Is this correct? Could anyone please explain to me how it works?


Solution 1:

The featured image ID is stored in wp_postmeta with a meta_key called _thumbnail_id. Example:

╔═════════╦═════════╦═══════════════╦═══════════╗
║ meta_id ║ post_id ║ meta_key      ║ meta_value║
╠═════════╬═════════╬═══════════════╬═══════════╣
║ 200     ║ 4       ║ _thumbnail_id ║ 48        ║
╚═════════╩═════════╩═══════════════╩═══════════╝

The actual thumbnail link is then contained in wp_posts with a post_type of attachment. Example:

╔════╦════════════╦═════════════════════════════════════════════════════╗
║ ID ║ post_type  ║ guid                                                ║
╠════╬════════════╬═════════════════════════════════════════════════════╣
║ 48 ║ attachment ║ http://example.com/wp-content/uploads/yourimage.png ║
╚════╩════════════╩═════════════════════════════════════════════════════╝

Solution 2:

I was curious, so here goes...

  • The wp_postmeta table will hold an entry for the post with meta_key of _thumbnail_id
  • the meta_value is a child post_id for the featured image
  • using that post_id, you can obtain further information from wp_posts and wp_postmeta

To put it all together, here's how to get the child wp_posts row for the featured image of post XXX...

SELECT childpost.* 
FROM wp_posts childpost 
INNER JOIN wp_postmeta parentmeta ON (childpost.ID=parentmeta.meta_value)
WHERE parentmeta.meta_key='_thumbnail_id' 
AND parentmeta.post_id=XXX;

And here's the meta data for that same image

SELECT childmeta.* 
FROM wp_postmeta childmeta 
INNER JOIN wp_postmeta parentmeta ON (childmeta.post_id=parentmeta.meta_value)
WHERE parentmeta.meta_key='_thumbnail_id' 
AND parentmeta.post_id=XXX;

The metadata will include a _wp_attached_file relative path, and a _wp_attachment_metadata containing some PHP serialized data.