Consulta personalizada con query_posts no muestra publicaciones sin cierto meta_key

27 sept 2010, 13:59:05
Vistas: 989
Votos: 0

Estoy usando query_posts para ordenar ciertas categorías. Mi código se ve así:

query_posts('category_name=abs&orderby=meta_value_num&meta_key=field_ordering&order=DESC');

Esto muestra las publicaciones exactamente en el orden que especifico. Sin embargo, la consulta anterior no muestra las publicaciones que no tienen el meta_key 'field_ordering' definido en la base de datos.

Mi problema es que no quiero establecerlo en TODAS las publicaciones, pero aún así poder mostrar los datos.

¿Alguna solución?

0
Todas las respuestas a la pregunta 1
0

Bueno, no puedes ordenar por un campo que no existe. Puedes modificar la consulta condicionalmente solo en aquellas categorías que tengan ese campo y dejar que la consulta predeterminada funcione en el resto.

Sería algo como:

if( is_category('abs') )
    query_posts(
    array_merge(
    array('orderby' => 'meta_value', 
                  'meta_key' => 'field_order', 
                  'order' => 'Desc' ),
    $wp_query->query
        )
    );
27 sept 2010 14:44:10