For decimal values, use DECIMAL
as it says in the official WP_Query
documentation:
‘meta_value‘
– Note that a‘meta_key=keyname‘
must also be present in
the query. Note also that the sorting will be alphabetical which is
fine for strings (i.e. words), but can be unexpected for numbers (e.g.
1, 3, 34, 4, 56, 6, etc, rather than 1, 3, 4, 6, 34, 56 as you might
naturally expect). Use‘meta_value_num‘
instead for numeric values.
You may also specify‘meta_type‘
if you want to cast the meta value as
a specific type. Possible values are‘NUMERIC’
,‘BINARY’
,‘CHAR’
,
‘DATE’
,‘DATETIME’
,‘DECIMAL’
,‘SIGNED’
,‘TIME’
,‘UNSIGNED’
, same as
in‘$meta_query‘
. When using‘meta_type’
you can also use
‘meta_value_*’
accordingly. For example, when using DATETIME as
‘meta_type’
you can use‘meta_value_datetime’
to define order
structure.
https://developer.wordpress.org/reference/classes/wp_query/#order-orderby-parameters