Leer a través de order & Para ordenar la documentación , no tengo claro si hay algún tipo de soporte para realizar pedidos basado en múltiples valores de meta_key
.
Obviamente, al usar meta_query
puedo devolver publicaciones basadas en varios pares clave-valor, pero quiero poder controlar el orden en que estos resultados se devuelven en base a múltiples meta_keys
.
Por ejemplo, tengo páginas que tienen múltiples categorías y cada categoría tiene un rango numérico. Si un usuario está buscando páginas que se encuentran en una de tres categorías diferentes, puedo devolver todas las publicaciones necesarias con lo siguiente:
$query = array(
'order' => 'DESC',
'orderby' => 'meta_value_num',
'meta_query' => array(
'relation' => 'OR',
array( 'key' => 'cat1', 'type' => 'numeric' ),
array( 'key' => 'cat2', 'type' => 'numeric' ),
array( 'key' => 'cat3', 'type' => 'numeric' )
);
);
Sin embargo, una vez que se devuelven, me gustaría que se ordenen en función del valor numérico más alto en cualquiera de las categorías en las que se devolvieron los resultados. En otras palabras, las publicaciones con un valor 9
en cat1
aparecerán en el mismo orden que las publicaciones con un valor 9
en cat3
.
Mirando esta respuesta parece que un meta_key
ni siquiera es necesario para 'orderby' => 'meta_value_num'
, pero eso no coincide con la documentación de meta_value
, que está mucho más documentada que meta_value_num
... Cualquier aclaración sería útil. Gracias!