Найти все изображения в таблице WordPress - PullRequest
4 голосов
/ 23 января 2011

Есть ли запрос mysql, который может вытащить все изображения из таблицы?Не повезло найти решение.Спасибо

е.с сайта wordpress

Все изображения находятся в таблице wp_posts

В моей таблице wp_posts все изображения смешаны с другими данными.Я хотел бы получить все изображения из этой таблицы для хранения на моем жестком диске

Ответы [ 2 ]

19 голосов
/ 23 января 2011

Все записи из таблицы

SELECT * FROM tbl

Из определенной таблицы

SELECT * FROM wp_posts

На основе База данных Wordpress ERD , чтобы получить вложения, это должно быть близко

SELECT * FROM wp_posts
WHERE post_type='attachment' and post_status='inherit'

Это даст вам вложения, а также родительский пост, с которым это связано, если вам нужен какой-то контекст

SELECT 
  posts.ID,
  posts.post_title AS title,
  posts.post_content AS content,
  files.meta_value AS filepath
FROM
  wp_posts posts
  INNER JOIN wp_posts attachments ON posts.ID = attachments.post_parent
  INNER JOIN wp_postmeta files ON attachments.ID = files.post_id
WHERE files.meta_key = '_wp_attached_file'

Если я не ошибаюсь, filepath дает вам ссылку на место на диске, где файлы изображений фактически хранятся.Если это все, что вам нужно, просто перейдите к нему (или по ftp, если он удаленный) и возьмите все файлы оттуда.

0 голосов
/ 23 января 2011

Я не знаком с WordPress, но однажды мне пришлось сделать нечто подобное и решить это с помощью регулярных выражений.

Я не знаю, как сделать это непосредственно в запросе. Я отфильтровал HTML-код с помощью регулярных выражений, чтобы получить только части img-тегов. Мне пришлось запросить все сообщения, а затем отфильтровать их.

Я предполагаю, что вы хотите извлечь теги image из сообщений?

В противном случае вы должны предоставить больше информации, как уже прокомментировал миддапарка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...