有没有办法找到所有帖子而没有来自Sql的任何相关图像(既不是内联或附件)?
或者任何人都可以解释我wordpress如何存储图像因为它对我来说不是那么清楚。我发现它们可以在文本中内联,或者使用meta_key =“_ wp_attached_file”存储在wp_postmeta中,或者使用post_type =“attachment”存储在wp_posts中。
这是对的吗?
任何帮助都将不胜感激。
提前致谢。
答案 0 :(得分:1)
Wordpress通过创建attachment post来管理媒体(图像,文本文档等),用于保存有关该媒体的信息及其与其他帖子/帖子的关系(如果有的话)。
要检索没有附加任何图像的所有帖子,您可以执行如下查询:
select * from wp_posts where id not in (select post_id as p from wp_postmeta where meta_key like "_thumbnail_id")
答案 1 :(得分:1)
谢谢,我补充道:
AND ID not in (select post_id as p from wp_postmeta where meta_key like "_wp_attached_file")
但它仍然会返回太多结果。
我已经看到,在我的结果的post_content中,我有一些图像被声明为:
<img src="/public/Username/filename.jpg">
该查询并未排除该帖子。我得到了一个很好的结果:
SELECT DISTINCT(p.ID), p.post_title, p.post_content FROM `wp_posts` p
LEFT JOIN wp_posts im ON p.ID = im.post_parent AND im.post_type = "attachment"
WHERE p.post_status ='publish'
AND p.post_type = "post"
AND im.ID IS NULL
AND p.post_content NOT REGEXP 'src=".*"'