Question

J'ai ajouté un champ personnalisé à certains postes appelés « frontpagerank » Le plan est d'ordonner les messages de cette valeur mais d'abord je veux juste filtrer tous ceux qui ne pas utiliser un rang de page. Je l'ai atteint cet objectif en mettant les postes pertinents dans un autre tableau. Mais quoi faire?

a également essayé une requête: $ The_query = new WP_Query (array ( 'meta_key' => '0', 'meta_value' => '44'));

while ($the_query->have_posts()) : $query->the_post(); $count++;

Cela ne vient rien. Ce code est difficile à déboguer!

Était-ce utile?

La solution

J'ai ajouté un champ personnalisé à certains postes appelés « frontpagerank »

Alors ne doivent pas les args WP_Query référence à cette clé, puis, par exemple.

'meta_key' => 'frontpagerank'

Si je suis, vous voulez vérifier les messages qui ont cette clé, et vous vous attendez à une valeur numérique, donc je suppose que vous ne voulez pas naturellement messages avec cette clé (mais une valeur vide).

$the_query = new WP_Query(array( 'meta_key' => 'frontpagerank', 'meta_value' => '', 'meta_compare' => '!=', 'orderby' => 'meta_value_num' ));

Ou si vous voulez spécifiquement pour vérifier les messages avec ce meta_key où la valeur est au-dessus disons 0, vous pouvez le faire ..

$the_query = new WP_Query(array( 'meta_key' => 'frontpagerank', 'meta_value' => '0', 'meta_compare' => '>', 'orderby' => 'meta_value_num' ));

Vous pouvez lire les informations sur les paramètres méta ici.
http://codex.wordpress.org/Function_Reference/query_posts#Custom_Field_Parameters

Infos sur commande par à, puisque j'ajouté que dans ce qui précède à ..;)
http://codex.wordpress.org/Function_Reference/query_posts#Order_.26_Orderby_Parameters

.. tous les paramètres que vous voyez énumérés pour query_posts peut être utilisé à l'intérieur WP_Query

Alors tout ce que vous devez faire est de boucle sur les données que vous avez eu plus tôt ..

// Note i made the correction you commented on, yes that's need to match
while( $the_query->have_posts() ) : $the_query->the_post();

   // do whatever

endwhile;

L'espoir qui aide.

Autres conseils

N'a pas essayé, mais cela semble que cela devrait fonctionner:

$recent = new WP_Query("meta_key=your-custom-field&orderby=meta_value");
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top