ordenar por varias claves de metadatos en pre_get_posts

2

Quiero múltiples pedidos por meta_query, por ejemplo:

orderby(‘_property_price’ => ‘DESC’,’_property_featured’ => ‘DESC’)

Esto es lo que estoy haciendo

$query->set('meta_key',array('_property_price','_property_featured'));
$query->set('orderby',array('meta_value'=>'DESC'));

En SQL, debería ser como

ORDER BY _property_price, _property_featured DESC

¿Alguna solución a esto?

    
pregunta Aman 03.05.2016 - 21:05

1 respuesta

5

Tal vez un poco tarde ...

    add_action( 'pre_get_posts', function($query) {
        if ( !is_admin() && $query->is_main_query() && is_post_type_archive( '[your_post_type]' ) ) {
            $query->set('meta_query', array(
                '_property_price' => array(
                    'key' => '_property_price',
                ),
                '_property_featured' => array(
                    'key' => '_property_featured',
                )                    
            ));
            $query->set('orderby',array(
                '_property_price' => 'DESC', 
                '_property_featured' => 'DESC'
            ));     

        }

        return $query;
    } ); 
    
respondido por el s t 29.03.2017 - 14:59

Lea otras preguntas en las etiquetas