我在wordpress中有大约100个帖子,所有帖子都有一个价格和值的meta_key。
我如何搜索23.00到41.00之间的所有帖子?
我知道'meta_compare'将'meta_value'视为一个字符串,所以我不能用它来解决我的问题。有人有任何线索吗?感谢
答案 0 :(得分:3)
我会尝试实现posts_where
过滤器,并在那里修改查询。在添加元比较后立即调用它,它允许您更改查询的WHERE
部分。您需要将元密钥的所有实例替换为CAST(meta_key AS DECIMAL(5,2))
。我想meta键的前缀是元表名,所以检查一下。如果要执行meta_value
查询,则需要找出传递两个BETWEEN
参数的方法,但是您可以将它们与逗号组合并在过滤器中将它们拆分。只要有一个有效的SQL where子句从你过滤,一切都应该有效。