2014-10-14 4 views
0

Я пытаюсь использовать Wordpress и бутстрапы карусели. Я создал пользовательский тип сообщения, называемый образами, и связал его с сообщениями, которые я хочу. Затем я загружал изображения в каждое сообщение. Когда я прохожу через массив, он заканчивает вывод всех моих изображений в карусель. Он предназначен для просмотра каждого изображения в моем собственном поле изображений и повторения их в карусели.Использование пользовательского типа WordPress типа

Он также выводит no-repeat center;"> как обычный текст на моей странице html. Который им не уверен, почему

<?php 
get_header(); 
?> 

<?php 

global $wp_query; 
$postid = $wp_query->post->ID; 
wp_reset_query(); 

$images = get_post_meta($postid, 'images', false); 


?> 


<div class="row"> 
    <div class="col-md-3"> 
     <div id="page_title">Case Studies</div> 
    </div> 
    <div class="col-md-9"> 
     <div id="page_excerpt"> 
      <div class="vertical_align_centre"> 
       <?php the_excerpt();?> 
      </div> 
     </div> 
    </div> 
</div> 

<!-- Content --> 


<div class="row"> 
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
<?php endwhile; endif; ?> 

<div class="col-md-3"> 

    <?php the_post_thumbnail('casestudy img-responsive');?> 
</div> 

    <div class="carousel-row hidden-xs"> 
      <div class="col-md-9"> 
       <div id="carousel-example-generic" class="carousel slide" data-ride="carousel"> 
        <!-- Indicators --> 
        <ol class="carousel-indicators"> 
         <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> 
         <li data-target="#carousel-example-generic" data-slide-to="1"></li> 
         <li data-target="#carousel-example-generic" data-slide-to="2"></li> 
        </ol> 

        <!-- Wrapper for slides --> 
        <div class="carousel-inner"> 
         <?php $i=0; foreach ($images as $image) { ?> 
         <div class="item <?php if ($i == 0) { echo 'active'; } ?>" style="background-size:cover; background:url('<?php echo $image; ?>') no-repeat center;"> 
          <div class="carousel-caption"> 
           <h4><?php echo $imageURL->post_excerpt;?></h4> 
          </div> 
         </div> 
         <?php $i++; } ?> 
        </div> 
        <!-- Controls --> 
        <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"> 
         <span class="glyphicon glyphicon-chevron-left"></span> 
        </a> 
        <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"> 
         <span class="glyphicon glyphicon-chevron-right"></span> 
        </a> 
       </div> 
       </div> 
      </div> 
+0

Что он должен делать? Каков твой вопрос? – rnevius

+0

Я обновил вопрос – pocockn

ответ

1

Это, как я понял, ваш вопрос.

Вы создали персонализированный тип сообщения, называемый образами, и вы добавили сообщения в этот тип сообщения. Эти сообщения содержат изображение (я предполагаю, что вы используете миниатюру для этой записи). Поэтому вам нужно использовать эти изображения в качестве карусели для начальной загрузки.

Если я здесь, то это ваш ответ. Обратите внимание, что этот код не проверен. поэтому сделайте резервную копию своего кода, прежде чем попробовать это.

<?php get_header(); ?> 
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
<div class="row"> 
<div class="col-md-3"> 
    <div id="page_title">Case Studies</div> 
</div> 
<div class="col-md-9"> 
    <div id="page_excerpt"> 
     <div class="vertical_align_centre"> 
      <?php the_excerpt();?> 
     </div> 
    </div> 
</div> 
</div> 
<div class="row"> 
<div class="col-md-3"> 
    <?php the_post_thumbnail('casestudy img-responsive');?> 
</div> 
<div class="carousel-row hidden-xs"> 
     <div class="col-md-9"> 
     <?php $args = array('post_type' => 'images','posts_per_page' => -1); $loop = new WP_Query($args); if($loop->have_posts()): ?> 
      <div id="carousel-example-generic" class="carousel slide" data-ride="carousel"> 
      <!-- Indicators --> 
       <ol class="carousel-indicators"> 
        <?php $count_images = wp_count_posts('images'); 
          $published_images = $count_images->publish; 
           if(count($published_images) > 0) { 
            for ($i=0; $i < $published_images; $i++) { ?> 
             <li data-target="#carousel-example-generic" data-slide-to="<?php echo $i; ?>" <?php if($i == 0){ echo 'class="active"';} ?>></li> 
            <?php } 
           } 
        ?> 
       </ol> 

      <!-- Wrapper for slides --> 
       <div class="carousel-inner"> 
       <?php $j = 0; while($loop->have_posts()): $loop->the_post(); global $post; ?> 
        <div class="item <?php if($j == 0) { echo 'active'; }?>"> 
         <img src="<?php echo wp_get_attachment_url(get_post_thumbnail_id($post->ID)); ?>" alt="<?php echo get_the_title(); ?>"> 
          <div class="carousel-caption"> 
           <?php the_excerpt(); ?> 
          </div> 
        </div> 
       <?php $j++; endwhile;?> 
       </div> 

      <!-- Controls --> 
      <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"> 
       <span class="glyphicon glyphicon-chevron-left"></span> 
      </a> 
      <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"> 
       <span class="glyphicon glyphicon-chevron-right"></span> 
      </a> 
     </div> 
    <?php endif; wp_reset_query(); ?> 
     </div> 
     </div> 
<?php endwhile; endif; ?> 
1

Из запроса похоже, что вы получаете все сообщения, доступные в вашем массиве.

Вы можете это исправить в верхней части:

'numberposts' = 10, //or however many you want 

или разрезать массив после факта:

$attachments = array_slice($attachments ,0 ,10); 

http://codex.wordpress.org/Template_Tags/get_posts

http://php.net/manual/en/function.array-slice.php

+0

Я изменил свой код, извините, что массив фактически не использовался. – pocockn