我相信我所做的对于标准来说太复杂了meta_query
中的参数get_posts
, 因此,我尝试使用自定义SQL查询执行以下操作:
我有一个游戏自定义帖子,其中包含team1和team2的自定义字段,存储为Posteta。给定团队XXXX,我需要为Posteta key team1或Posteta key team2提取所有Posteta值为XXXX的帖子。
我还需要考虑今年的情况,因为每年都有两队可以相互比赛。游戏帖子类型的年份存储为Posteta年份。
我尝试使用以下内容(在phpmyadmin中进行测试),但它不起作用。。。
我在这里的两个变量是年=2014和队=洋基队:
SELECT DISTINCT (p.ID), p.post_title
FROM wp_posts p
JOIN wp_postmeta pm1 ON p.ID = pm1.post_id
JOIN wp_postmeta pm2 ON p.ID = pm2.post_id
WHERE 1 =1
AND p.post_type = \'game\'
AND ((pm1.meta_key = \'year\'
AND pm1.meta_value = \'2014\'
AND pm2.meta_key = \'team1\'
AND pm2.meta_value = \'yankees\') OR
(pm1.meta_key = \'year\'
AND pm1.meta_value = \'2014\'
AND pm2.meta_key = \'team2\'
AND pm2.meta_value = \'yankees\'))