Php Wordpress标题数组

Php Wordpress标题数组,php,arrays,wordpress,caption,Php,Arrays,Wordpress,Caption,我正在尝试编写一个函数,该函数将输出其他每个附件标题,并在包含顺序ID的div中很好地格式化每个标题。然而,每当我在一篇博文节选前后添加一个echo和echo时,我的代码就完全崩溃了。根据我的HTML输出,第一个回音似乎被忽略,直到第二次通过循环。如果我去掉echo div代码,标题看起来很好 <?php while ( have_posts() ) : the_post(); ?> <?php

我正在尝试编写一个函数,该函数将输出其他每个附件标题,并在包含顺序ID的div中很好地格式化每个标题。然而,每当我在一篇博文节选前后添加一个echo和echo时,我的代码就完全崩溃了。根据我的HTML输出,第一个回音似乎被忽略,直到第二次通过循环。如果我去掉echo div代码,标题看起来很好

             <?php while ( have_posts() ) : the_post(); ?>
             <?php
                $argsThumb = array(
                    'orderby' => 'menu_order',
                    'order' => 'ASC',
                    'post_type' => 'attachment',
                    'post_status' => null,
                    'post_parent' => $post->ID,
                    'include'  => $thumb_id
                );
               $thumb_images = get_posts($argsThumb);
               $currentThumb = 1;
               $captionID=1;
               foreach ($thumb_images as $thumb_image) {
                   if ($currentThumb % 2 == 0)
                        echo '<div class="caption'.$captionID++.'">';
                        echo $thumb_image->post_excerpt;
                        echo '</div>';
                        $currentThumb++;
               }
            ?>
           <?php endwhile; // end of the loop. ?>

这是我的HTML输出,理论上应该有5个标题,因为我有10个图像,并且代码假设每隔一个图像标题提取一个:

    <div class="caption1"></div>
    BEFORE 3</div>
    <div class="caption2">CLIENT: ELYSIAN<br>AGENCY: IN HOUSE<br>PHOTOG: JEFF SCIORTINO<br><br><p>THIS IMAGE WAS PART OF A SERIES SHOT FOR THE ELYSIAN. I WAS APPROACHED TO ADD ELEMENTS THAT WERE NOT POSSIBLE TO CAPTURE IN CAMERA.</p></div>
    AFTER 2.</div>
    <div class="caption3">BEFORE 1</div>

三点以前
客户:ELYSIAN
代理机构:内部
照片:杰夫·肖尔蒂诺

这张照片是为ELYSIAN拍摄的一系列照片的一部分。我被要求添加无法在相机中捕捉的元素

2点以后。 1之前
一个问题可能是您忘记了将
if
块用大括号括起来

现在,你所拥有的基本上是:

foreach ($thumb_images as $thumb_image) {
    if ($currentThumb % 2 == 0) {
         echo '<div class="caption'.$captionID++.'">';
    }

    echo $thumb_image->post_excerpt;
    echo '</div>';
    $currentThumb++;
}
foreach($thumb\u图像作为$thumb\u图像){
如果($currentThumb%2==0){
回声';
}
echo$thumb_图像->post_摘录;
回声';
$currentThumb++;
}
所以,你可能想让它看起来像这样,intead:

foreach ($thumb_images as $thumb_image) {
    if ($currentThumb % 2 == 0) {
         echo '<div class="caption'.$captionID++.'">';
         echo $thumb_image->post_excerpt;
         echo '</div>';
         $currentThumb++;
    }
}
foreach($thumb\u图像作为$thumb\u图像){
如果($currentThumb%2==0){
回声';
echo$thumb_图像->post_摘录;
回声';
$currentThumb++;
}
}
上述错误是始终包含大括号的一个很好的理由,即使对于单行if块也是如此


但是,我认为这不会完全解决您的问题。我建议您再次查看数据,因为您可以看到
echo'发生了五次。我猜,
foreach($thumb\u images作为$thumb\u images)
循环只有五个附件需要抓取。

感谢您的快速回答!我还必须将foreach更改为$attachments作为$attachment,而不是根据$thumb_图像的数量来确定标题的数量。