我应该如何使用post_where将meta_value从字符串更改为整数?
题
我应该如何使用post_where将meta_value从字符串更改为整数?
解决方案
尝试这个:
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;
}