Cum să afișezi postări fără meta_key folosind query_posts în WordPress

27 sept. 2010, 13:59:05
Vizualizări: 989
Voturi: 0

Folosesc query_posts pentru a sorta anumite categorii. Codul meu arată astfel:

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

Aceasta afișează postările în ordinea exactă pe care o specific. Totuși, interogarea de mai sus nu afișează postările care nu au meta_key 'field_ordering' setat în baza de date.

Problema mea este că nu vreau să le setez pe TOATE postările, dar totuși vreau să pot afișa datele.

Există soluții?

0
Toate răspunsurile la întrebare 1
0

Ei bine, nu poți sorta după un câmp care nu există. Poți modifica interogarea condițional doar în acele categorii care au acel câmp și lăsa interogarea implicită să funcționeze în rest.

Ar fi ceva de genul:

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