How should I use posts_where to change meta_value from a string to integer?
Question
How should I use posts_where to change meta_value from a string to integer?
Solution
Try this:
add_filter('posts_where', 'unquote_numeric_meta_value', 10, 2);
function unquote_numeric_meta_value($where, $args) {
$value = isset($args->query_vars['meta_value']) ? $args->query_vars['meta_value'] : false;
if(is_numeric($value))
$where = str_replace("'{$value}'", $value, $where);
return $where;
}
Licensed under: CC-BY-SA with attribution
Not affiliated with wordpress.stackexchange