2010-07-13 4 views
1

J'essaie d'interroger les publications en fonction d'un certain nombre d'ID contenus dans un tableau.Wordpress query_posts() avec un tableau?

Mon tableau (appelé $ my_array) ressemble à ceci:

Array 
(
    [0] => 108 
    [1] => 129 
    [2] => 145 
) 

Et ma requête ressemble à ceci:

<?php query_posts(array('post__in' => $my_array)); ?> 

Cependant ce juste retourne un poste, le poste a l'ID du premier élément du tableau (108).

Est-ce que ma syntaxe est incorrecte?

+0

note que vous peut utiliser post_type => 'any' si vous avez une plage d'identifiants sur plusieurs types de postes – Ash

Répondre

5
$args = array(
    'post_type' => 'page',//or whatever type 
    'post__in' => array(108,129,145) 
); 
query_posts($args); 

ou

$arr=array(108,129,145); 
$args = array(
    'post_type' => 'page', 
    'post__in' => $arr 
); 
query_posts($args); 
+0

est-il possible de réorganiser les messages ou sommes-nous bloqués avec l'ordre du tableau (ce qui semble être le cas avec ce que je fais? Je travaille sur) – v3nt

2

Vous avez toujours régler le post_type avec l'argument post__in. Ainsi, votre ligne doit ressembler à ce qui suit:

<?php query_posts(array('post_type' => 'post', 'post__in' => $my_array)); ?> 

Cela va interroger les messages avec les ID que vous avez dans le tableau.

0

Daniel, Je publie une réponse, bien que vous l'ayez probablement trouvée. Je n'ai pas encore la réputation de poster des commentaires, query_posts soutient tous les arguments de WP_Query dont vous pouvez ajouter la commande « orderby » => « titre », « ordre » => « ASC » aux query_posts appeler

Questions connexes