2014-11-07 3 views
0

ok Я использую приведенный ниже код для создания заголовка для моих вложений. Проблема в том, что если у меня есть несколько изображений на одной странице, заголовок для первого изображения отображается для всех изображений. например, если у меня есть «Текст один» в качестве заголовка для моего изображения один, все изображение с надписью «Текст один». Как я могу решить эту проблему?только первый заголовок для прикрепления в Wordpress

<?php 
$args = array('post_type' => 'attachment', 
        'orderby' => 'menu_order', 
        'order' => 'ASC', 
        'post_mime_type' => 'image' , 
        'post_status' => null, 
        'numberposts' => 50, 
        'post_parent' => $post->ID); 

     $attachments = get_posts($args); 
     if ($attachments) { 
      foreach ($attachments as $attachment) { 
       $caption = $attachment->post_excerpt; 
       } 
      } 
    ?> 
    <p class="project-caption"><?php echo $caption ?></p> 

В настоящее время имеется ползунок, который показывает изображения. & код слайдера:

<?php 
       if($repeater): 
        foreach($repeater as $r): 
      ?> 
       <li class="<?php echo $r["fit_to_screen"] ? "img_fit" : ""; ?>"> 
        <?php 
        if($r["acf_fc_layout"] == "image"): 
        $html = "<img data-fit='".$r["fit_to_screen"]."' src='".$r["image"]["url"]."' alt='".$r["image"]["alt"]."'/>"; 
        echo apply_filters('post_thumbnail_html', $html, $post->ID , $r["image"]["id"], "large" , array("alt"=>$r["image"]["alt"])); 
        else: 
         echo getVideoEmbed($r["video_url"]); 
        endif; 
        ?> 
       </li> 
      <?php 
        endforeach; 
       endif; 
      ?> 

ответ

1

перекручивания $caption в так что в конце вы получите последний заголовок.

Вы можете распечатать $caption внутри цикла, а затем получить все подписи.

foreach ($attachments as $attachment) { 
    $caption = $attachment->post_excerpt; 
    echo '<p class="project-caption">'.$caption.'</p>'; 
} 
+0

, но если я использую этот код, все мои подписи отображаются сразу. [Link] (http://img0.uploadhouse.com/fileuploads/20173/20173570ed928077bc4a6eccb30852aaff405fb4.jpg) –

1

Вы получаете тот же заголовок, потому что вы показываете заголовок после Еогеаспа, и вы должны сделать это в Еогеаспе:

<?php 
$args = array('post_type' => 'attachment', 
       'orderby' => 'menu_order', 
       'order' => 'ASC', 
       'post_mime_type' => 'image' , 
       'post_status' => null, 
       'numberposts' => 50, 
       'post_parent' => $post->ID); 

    $attachments = get_posts($args); 
    if ($attachments) { 
     foreach ($attachments as $attachment) { 
      $caption = $attachment->post_excerpt; 
      echo '<p class="project-caption">' . $caption . '</p>'; 
      } 
     } 
?> 
+0

привет, спасибо за помощь. но если я использую ваш код, все заголовки отображаются сразу. на самом деле это слайдер, поэтому только одно изображение отображается одновременно и когда вы нажимаете следующую кнопку, отображается следующее изображение. Я добавил код слайдера в свой пост, пожалуйста, проверьте. –

+0

Поместите свои подписи внутри слайдера li. И сделайте их слайдами с изображением. Или если вы не хотите делать это, добавьте некоторые классы, чтобы вы могли знать, что подпись связана с определенным ли, а когда активна ли активна, просто отобразите этот заголовок. – sticksu

+0

вот скриншот [link] (http://img0.uploadhouse.com/fileuploads/20173/20173570ed928077bc4a6eccb30852aaff405fb4.jpg) –

Смежные вопросы