2010-05-28 9 views
0

J'essaie d'utiliser un champ personnalisé dans lequel je saisis les numéros de poste des messages que je veux afficher, séparés par des virgules. Pour une raison quelconque, cependant, seul le premier message de la série des ID poste s'affiche. Quelqu'un peut-il aider? La valeur de $ nlPostIds est (moins les guillemets): "1542,1534,1546". Voici le code ... la partie la plus importante est la 4e ligne 'post__in' => array($nlPostIds)WordPress: Utilisation du champ personnalisé pour définir les messages à afficher en boucle

<?php 
$nlPostIds = get_post_meta($post->ID, 'nlPostIds', true); 
$args=array(
    'post__in' => array($nlPostIds) 
    ); 
query_posts($args); 
if ($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post(); ?> 

<div class="entry"> 
      <div class="post" id="post-<?php the_ID(); ?>"> 
       <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> 
<div class="allinfos"><span class="date"><?php the_time('F jS, Y') ?></span> | <span class="comments"><?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?> </span> | <span class="category">Posted in <?php the_category(', ') ?></span> <!-- by <?php the_author() ?> --></div> 

        <?php the_content('More &raquo;'); ?> 

<?php the_tags('Tags: ', ', ', ' '); ?> <?php edit_post_link('Edit', '[ ', ' ]'); ?> 
<div class="clear"></div> 
</div></div> 
<?php endwhile; endif; ?> 

Merci!

Répondre

1

Je pense que vous devez également passer l'argument 'posts_per_page' à -1 dans votre tableau $args (voir le).

MISE À JOUR:

Toutes mes excuses, je viens de relire votre question et je pense que je connais le problème. Passez $nlPostIds comme argument direct, sans le placer dans un tableau. Vous ne passez un tableau que lorsque chaque élément est un ID. Dans ce soin, vous passez juste une chaîne séparée par des virgules.

MISE À JOUR:

Utilisation;

$args = array('post__in' => @explode(',', $nlPostIds), 'posts_per_page' => -1); 
+0

grâce deadmedic, mais cela ne semble pas faire quoi que ce soit malheureusement –

+0

Vérifiez ma réponse révisée - qui devrait faire l'affaire :) – TheDeadMedic

+0

Désolé, mon commentaire aurait peut-être été un peu confus - juste pour confirmer, vous avez ; '$ args = array ('post__in' => $ nlPostIds)', non; '$ args = $ nlPostIds'? – TheDeadMedic

Questions connexes