如何访问由QUERY_POST返回的特定帖子?

时间:2013-08-20 作者:ericgr

具体来说,我带回了A类中最近的7篇文章,但我想把第一篇文章的缩略图放进去<div id=A> 第二篇文章的缩略图<div id=B> 这七个帖子也是如此。

如果这是一个数组,我只需使用<div>, 但我不知道在我用query\\u帖子带回这些帖子后,如何访问这些帖子。

有什么想法吗?

3 个回复
最合适的回答,由SO网友:GhostToast 整理而成

为什么不先使用计数器,然后使用条件逻辑呢?

$i = 0;
while($loop->have_posts()) : $loop->the_post();
    if($i === 0){
        echo \'<div class="a">\'.other_stuff().\'</div>\';
    } elseif($i === 1){
        echo \'<div class="b">\'.other_stuff().\'</div>\';
    } else {
        echo \'<div class="default">\'.other_stuff().\'</div>\';
    }
    $i++;
endwhile;

SO网友:Andrew Bartel

首先,一般来说,最好使用WP\\u Query vs Query\\u posts,因为Query\\u posts修改主循环,而WP\\u Query生成辅助循环,并在以后减少混乱。

PHP还将通过一个简单的++. 例如:

$div_id = \'a\';
$div_id++; // $div_id now equals \'b\'
例如:

$args = array("your args here");
$my_query = new WP_Query($args);
$div_id = \'a\';
if($my_query->have_posts()) {
    while($my_query->have_posts()) {
        $my_query->the_post();
        echo \'<div id="\'.$div_id.\'">\'.the_content().\'</div>\';
        $div_id++;
    }
}

SO网友:Milo

为了补充这里已经给出的答案,没有理由必须在控制结构中输出结果。the_post() 是什么推动了内部current_post 计数器并设置全局$post 与当前帖子的数据可变。记住这一点,您可以按任何顺序访问查询结果中的任何帖子-

$query = new WP_Query( $args );

$query->the_post();

the_content(); // outputs content from first post

$query->the_post();

the_content(); // outputs content from second post

$query->current_post = -1;

$query->the_post();

the_content(); // outputs content from first post again

$query->current_post = 8;

$query->the_post();

the_content(); // outputs content from 10th post

结束

相关推荐

Error sending array of inputs

您好,我收到Wordpress includes的一个错误,当我发布分类法的多个值时会出现此错误<form role=\"search\" method=\"post\" id=\"searchform\" action=\"<?php echo home_url( \'/\' ); ?>\"> <select name=\"books[]\" multiple> <option value=\"a\">a</option