Wordpress - 获取所有没有图片的帖子?

时间:2013-10-03 09:59:46

标签: mysql image wordpress

有没有办法找到所有帖子而没有来自Sql的任何相关图像(既不是内联或附件)?

或者任何人都可以解释我wordpress如何存储图像因为它对我来说不是那么清楚。我发现它们可以在文本中内联,或者使用meta_key =“_ wp_attached_file”存储在wp_postmeta中,或者使用post_type =“attachment”存储在wp_posts中。

这是对的吗?

任何帮助都将不胜感激。

提前致谢。

2 个答案:

答案 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=".*"'