Где ссылка с изображенным изображением, хранящаяся в базе данных WordPress? Я искал в таблице wp_postmeta
, но я не могу найти точные post_id
и links
.
Это правильно? Может ли кто-нибудь объяснить мне, как это работает?
Где ссылка с изображенным изображением, хранящаяся в базе данных WordPress? Я искал в таблице wp_postmeta
, но я не могу найти точные post_id
и links
.
Это правильно? Может ли кто-нибудь объяснить мне, как это работает?
Идентификатор признанного изображения сохраняется в wp_postmeta
с meta_key
, называемым _thumbnail_id
. Пример:
╔═════════╦═════════╦═══════════════╦═══════════╗
║ meta_id ║ post_id ║ meta_key ║ meta_value║
╠═════════╬═════════╬═══════════════╬═══════════╣
║ 200 ║ 4 ║ _thumbnail_id ║ 48 ║
╚═════════╩═════════╩═══════════════╩═══════════╝
Фактическая миниатюра затем содержится в wp_posts
с post_type
от attachment
. Пример:
╔════╦════════════╦═════════════════════════════════════════════════════╗
║ ID ║ post_type ║ guid ║
╠════╬════════════╬═════════════════════════════════════════════════════╣
║ 48 ║ attachment ║ http://example.com/wp-content/uploads/yourimage.png ║
╚════╩════════════╩═════════════════════════════════════════════════════╝
Мне было любопытно, так вот идет...
wp_postmeta
будет сохранена запись для сообщения с meta_key
из _thumbnail_id
meta_value
является дочерним post_id
для выделенного изображенияpost_id
, вы можете получить дополнительную информацию от wp_posts
и wp_postmeta
Чтобы собрать все вместе, вот как получить дочернюю строку wp_posts
для отображаемого изображения сообщения 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;
И здесь метаданные для того же изображения
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;
Метаданные будут включать относительный путь _wp_attached_file
и a _wp_attachment_metadata
, содержащий некоторые сериализованные данные PHP.
здесь мой sql с полным изображением URL
SELECT concat((select option_value from wp_options where option_name ='siteurl' limit 1),'/wp-content/uploads/',childmeta.meta_value)
FROM wp_postmeta childmeta
INNER JOIN wp_postmeta parentmeta ON (childmeta.post_id=parentmeta.meta_value)
WHERE parentmeta.meta_key='_thumbnail_id' and childmeta.meta_key = '_wp_attached_file'
AND parentmeta.post_id = POST_ID ;
select option_name from wp_options where option_name ='siteurl'
результат будет таким, как
http://yourdomain/blog-wp/wp-content/uploads/2015/04/IMG_06062014_155904.png