Где ссылка с изображенным изображением, хранящаяся в базе данных 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_idmeta_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