相关的自定义后类型职位使用WordPress插件叫做Pods,我定义了两个自定义文章类型:场地和事件。除了简单的元字段之外,Pods还允许在帖子类型之间定义所谓的“关系”字段。MySQL的声明想查询在WordPress数据库
就我而言,我使用了这样的“关系”字段事件,涉及事件的场地。 Pods存储相关场所 post_id作为meta_value的事件后。
现在,在WordPress'管理员我想扩展编辑视图为我的自定义帖子类型事件。我想让事件列表排序场地。 我的问题是,MySQL声明必须如何实现这一目标?我有麻烦缠住我的头,这两个事件,事件和场馆,都存储为wp_post表中的帖子。
相关架构如下:
wp_posts
(id
,post_title
,post_type
)
wp_postmeta
(meta_id
,post_id
,meta_key
,meta_value
)
我在寻找类似
SELECT t1.post_title AS event_title
, t2.meta_value AS venue
FROM wp_posts AS t1
JOIN wp_postmeta AS t2
ON t2.post_id = t1.id
WHERE t1.post_type = 'event'
AND t2.meta_key = 'event_venue'
上面的说法让我的事件的标题与相关场地的ID一起。有了这个ID,我需要再次查询wp_posts和wp_postmeta(... WHERE t1.post_type = 'venue' ...
)来检索相关场地的标题和其他字段。那么,如何在一个查询中做到这一点?
Bunjip。
请注意:这个问题不有关如何扩展WordPress管理或如何使用WP钩来显示后列出自定义列,也不如何使这些列表排序的自定义列。我需要的只是正确的SQL语句。这就是为什么我没有发布我的问题到wordpress.stackexchange.com。
@Strawberry:看,这两个活动和场地均以WordPress的形式发布。他们是自定义帖子类型的帖子。活动有一个标有'event_venue'的自定义元字段,其中包含任何自定义帖子类型'场地'的帖子的post_id。我编辑了伪SQL语句来清除。 – Bunjip