如何修改我的META_QUERY以处理数据库中存储的包含美元符号和逗号的价格?

时间:2011-07-27 作者:Andrew

我的目标是使用meta_query. 用户在管理中输入的价格是一个自定义字段,使用WPAlchemy. 在下面的示例中,查询将返回任何价格值介于1000和1500之间的帖子:

        \'meta_query\' => array(
            array(
                \'key\' => \'_my_price\',
                \'value\' => array( 1000, 1500 ),
                \'type\' => \'numerical\',
                \'compare\' => \'BETWEEN\',
            )),
如果将价格值输入为1200 (在DB中存储为1200),但对于存储在数据库中具有美元符号和逗号(例如$1,200?

理想情况下,我希望网站上的所有价格值都是一致的,所以我使用Javascript货币格式化程序来转换价格,这就是为什么我要问这个问题。如果用户输入1200,则将其转换为$1,200, 然后存储在数据库中。meta\\u查询认为这不是一个数字,因此不返回任何结果。

或者也许有更好的方法。在admin中的输入字段上放弃JS格式化程序,而是在前端添加美元符号和逗号分隔,这样会更好吗?这似乎更符合逻辑,但随后又提出了另一个问题,即如何防止用户在管理中输入美元符号或逗号格式。

1 个回复
最合适的回答,由SO网友:scribu 整理而成

在admin中的输入字段上放弃JS格式化程序,而是在前端添加美元符号和逗号分隔,这样会更好吗?

是的,当然。

这似乎更符合逻辑,但随后又提出了另一个问题,即如何防止用户在管理中输入美元符号或逗号格式。

在存储输入之前对其进行清理,使用absint().

结束

相关推荐