我有租赁自定义帖子类型。租金有价格,价格存储在租赁表中。租金也有一个“特色”的元键。它具有“开”或“关”的值。如何通过WordPress中的不同元键进行订购
我需要做的是,列出租金,让特色优先,特色按日期排序,然后列出其他租赁,其他未特色租赁应按价格排序。
这是我的实际查询:
SELECT SQL_CALC_FOUND_ROWS wp_posts.*,
FROM wp_posts
INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id)
INNER JOIN wp_st_rental as tb ON wp_posts.ID = tb.post_id
WHERE 1=1 AND
(wp_posts.ID NOT IN (SELECT object_id FROM wp_term_relationships
WHERE term_taxonomy_id IN (253))) AND
(wp_postmeta.meta_key = 'is_featured') AND
wp_posts.post_type = 'st_rental' AND ((wp_posts.post_status = 'publish'))
AND wp_posts.ID IN (SELECT post_id FROM wp_st_location_relationships
WHERE 1=1 AND post_type IN ('st_rental')) GROUP BY wp_posts.ID
ORDER BY wp_postmeta.meta_value DESC, CAST(st_rental_price as DECIMAL) ASC
LIMIT 0, 350
在这个实际的查询,我可以设法先拿到租金功能,然后其他人,但所有的人都通过价格排序。 这应该改变,所以特色按日期排序。
这是我的最终解决方案: CASE WHEN wp_postmeta.meta_value '上',那么wp_posts.post_date END DESC =, CASE WHEN wp_postmeta .meta_value ='off'THEN CAST(act.price as DECIMAL)END ASC“; – Eva