PHP在文章数组后返回文本.但上一个之后就不是了


php echo text after array of posts. But not after last one

我已经创建了一个post结果数组。在每个帖子之后,我需要添加以下字符"/!",这是我使用echo函数完成的。但是,这些字符不能在最后一篇文章之后(或在第一个帖子之前)存在,除非有人建议在之前重复它。

如果帖子是最后一个,有没有办法不让这个回复?

下面是我当前使用的代码:

<?php 
echo '[wpic]';
$my_query = new WP_Query( "category_name=editorial&posts_per_page=-1" ); if ( $my_query->have_posts() ) : while ( $my_query->have_posts() ) : $my_query->the_post();
the_post_thumbnail(array(400,400));
    echo '/!';
endwhile; endif;
echo '[/wpic]';
} 
?>

其中[wpic]是用于创建幻灯片的短代码。但是每个图像都需要通过"/!"'

<?php 
echo '[wpic]';
$my_query = new WP_Query( "category_name=editorial&posts_per_page=-1" ); 
if ( $my_query->have_posts() ) : 
    while ( $my_query->have_posts() ) : 
        $my_query->the_post();
        the_post_thumbnail(array(400,400));
        if (($my_query->current_post +1 )< $my_query->post_count)
            echo '/!';
    endwhile; 
endif;
echo '[/wpic]';
} 
?>

have_posts()的文档

如果使用for循环:

$max = 10;
for($i=0; $i<=$max; $i++)
{
  if($i != $max) echo "/!";
}

可以使用

if( ($wp_query->current_post + 1) < ($wp_query->post_count) ) {
    echo '/!';
};

见http://wp-snippets.com/check-if-last-post/