wp-postratingsスコア(http://wordpress.org/extend/plugins/wp-postratings/)に基づいて投稿を返す必要があるクエリについて助けが必要です。WordPressのメタデータのMySQLクエリ
ユーザーは最小評価(0〜5星)と最大評価(0〜5星)を選択し、一致する投稿を返すようにします。私は両方の値のユーザー入力が0を超えているが、私は0値の周りに私の頭を得るように見えることはできません作業している。 0は評価されていない投稿、つまり評価メタデータのないすべての投稿を表しているため、評価が指定された最大値以下の投稿だけでなく、評価メタデータのないすべての投稿を選択する必要があります。
どうすればいいですか?どんな援助も非常に高く評価されます!
は、ここに私の現在のクエリです:
SELECT DISTINCT p.*, (t1.meta_value+0.00) AS ratings_average, (t2.meta_value+0.00) AS ratings_users, (t3.meta_value+0.00) AS ratings_score
FROM wp_posts p
INNER JOIN wp_term_relationships tr ON (p.ID = tr.object_id)
INNER JOIN wp_term_taxonomy tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id)
INNER JOIN wp_terms t ON t.term_id = tt.term_id
LEFT JOIN wp_postmeta AS t1 ON t1.post_id = p.ID
LEFT JOIN wp_postmeta AS t2 ON t1.post_id = t2.post_id
LEFT JOIN wp_postmeta AS t3 ON t3.post_id = p.ID
WHERE t1.meta_key = 'ratings_average'
AND t2.meta_key = 'ratings_users'
AND t3.meta_key = 'ratings_score'
AND p.post_date < NOW()
AND p.post_status = 'publish'
AND (tt.taxonomy = 'post_tag' AND tt.term_id = t.term_id AND t.slug = 'liverpool')
AND ((t1.meta_value+0.00) IS NULL OR (t1.meta_value+0.00) <= $max_stars)
ORDER BY p.post_date DESC
LIMIT 20
感謝を!残念ながら、このクエリは、評価されたクエリのみを返します。 – martynr