0

我正在尝试使用自定义字段,在其中输入要显示的帖子的帖子 ID 号,以逗号分隔。但由于某种原因,仅显示帖子 ID 系列的第一篇帖子。有人可以帮忙吗?$nlPostIds 的值是(减去引号):“1542,1534,1546”。这是代码...最重要的部分是第 4 行'post__in' => array($nlPostIds)

<?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; ?>

谢谢!

4

1 回答 1

1

我认为您还需要在$args数组中将参数 'posts_per_page' 作为 -1 传递(请参阅query_posts() 上的 Codex)。

更新:

抱歉,我刚刚重新阅读了您的问题,我想我知道问题所在。作为直接参数传递$nlPostIds,而不将其放置在数组中。仅当每个 元素都是 ID时才传递数组。在这种情况下,您只需传递一个逗号分隔的字符串。

更新:

利用;

$args = array('post__in' => @explode(',', $nlPostIds), 'posts_per_page' => -1);
于 2010-05-28T16:30:39.190 回答