I’m trying to do a sort in my WP_Query on a custom field. The custom field contains strings such as “E100”, “E500” and “E123b”. I would like to sort numerically on these values, i.e. sort on the custom field as if the characters weren’t there.
My query looks like this:
$subpages = new WP_Query(array(
"post_type" => "page",
"meta_key" => "[customFieldNameHere]",
"orderby" => "meta_value_num",
"order" => "ASC",
"posts_per_page" => 5000
));
But it doesn’t work. It does some sort of sort, but it’s not numerical. Is it possible to strip all characters/letters from the field, and then do a numerical sort on the remaining values, or is there some other way to solve this?
I ended up removing the leading E from all strings. Doesn’t really solve the original problem, with numerical sorting of strings, but at least it works now.