获取带有特定类别附件的帖子?

Posted

技术标签:

【中文标题】获取带有特定类别附件的帖子?【英文标题】:Fetch posts with attachments in a certain category? 【发布时间】:2011-02-22 03:13:31 【问题描述】:

我需要检索包含(至少)一个附件属于 WordPress 中某个类别的帖子列表。

我自己使用WordPress默认方法制作的附件和类别之间的关系。

这是我现在正在运行的查询:

SELECT post.*
FROM `bma_posts` AS post
WHERE
    EXISTS (
        SELECT 1
        FROM `bma_posts` AS attachment
        JOIN `bma_term_relationships` AS relationship ON
            relationship.`object_id` = attachment.`ID`
            AND
            relationship.`term_taxonomy_id` IN (17,15,16,5)
        WHERE
            attachment.`post_parent` = post.`ID`
            AND
            attachment.`post_type` = 'attachment'
    )
    AND
    post.`post_type` = 'post'
    AND
    post.`post_status` = 'publish'
ORDER BY post.`post_date` DESC
LIMIT 3

现在的问题是我无法获取附件。ID 知道“谁”在查询中包含了该帖子。

【问题讨论】:

@PieterGoosen 我有点不同意你对这个问题的编辑/扩展。供您参考I submitted it for review on meta。 @RandomSeed - 我同意。这个问题现在措辞完全不同。 “附件.ID”。这是 bma_posts.ID 吗?如果是这样,那将存在于 Select 子句中。也不清楚“谁”的来源。什么表中的哪一列? 【参考方案1】:
Select ...
From wp_posts As P
Where Exists    (
                Select 1
                From wp_posts As P1
                    Join wp_term_relationship As WTR1
                        On WTR1.object_id = P1.ID
                            And WTR1.term_taxonomy_id In(3)
                Where P1.post_parent = P.Id
                    And P1.post_type = 'attachment'
                )
    And P.post_type = 'post'
Order By p.post_date DESC
Limit 15    

【讨论】:

@TiuTalk - 啊。您没有在 wp_posts 表之外的结果中提及您需要的内容。您能否提供您正在寻找的输出示例。

以上是关于获取带有特定类别附件的帖子?的主要内容,如果未能解决你的问题,请参考以下文章

php 获取特定帖子的类别

使用 Laravel 获取特定类别的所有帖子记录

手动检索带有 JSON 类别/标签的 Wordpress 帖子

Wordpress 自定义帖子类型分类 - 获取特定内容

Wordpress 类别模板显示来自所有类别的帖子,而不是特定类别的帖子

php 来自帖子类型的特定类别帖子的帖子