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 withmeta_key
of_thumbnail_id
- the
meta_value
is a childpost_id
for the featured image - using that
post_id
, you can obtain further information fromwp_posts
andwp_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.