2016-10-15 7 views
0

これは初めての投稿です。私はこのサイトが投稿に非常に役立つことを発見しました。私は、開発者がお互いにサポートしなければならない献身に感謝します。WordpressのPHPループ構築カスタムスライダー

私はワードプレスで推薦スライダーを構築していますが、必要に応じてバックグラウンドの知識が必要です。初心者としてのWordPressの回転の功績を追加する方法。その後、Boostrapを使用して推薦スライダー、シンプルブートストラップの推薦カルーセル(codepen.io/danielmdesigns/pen/yNzJwB)をコーディングします。

私はHTML/Jquery側に満足しています。それは私に悲しみを与えてくれるPHPループです。 PHPはWP初心者からWordpressの広告を回転させる方法から抜粋し、私自身のためにそれを修正しようとしました。

私はPHPコードでこの問題についてコメントしましたが、私の限られたPHP知識では、スライドごとの唯一の証言をリリースするつもりですが、試行錯誤からは 'php else '声明。現在、スライダでは、CMSに格納されているすべての覚え書きをリリースしています。ここで、スライダごとに1つずつ解放する必要があります。配列コードを見ると、その上にカウンタがあります。

これはendwhileとend if文で同じですが、私は何かをphp else文に追加する必要があると推測していますが、if文のどのタイプが不明かわかりません。

<div class="carousel slide" id="quote-carousel" data-ride="carousel"> 

<!-- Bottom Carousel Indicators --> 
<ol class="carousel-indicators"> 
    <li data-target="#quote-carousel" data-slide-to="0" class="active"></li> 
    <li data-target="#quote-carousel" data-slide-to="1"></li> 
    <li data-target="#quote-carousel" data-slide-to="2"></li> 
</ol> 

<!-- Carousel Slides/Quotes --> 
<div class="carousel-inner"> 

       <?php 
       $args = array('post_type' => 'testimonial', 'posts_per_page' => 10); 
       $loop = new WP_Query($args); 
       if ($loop->have_posts()) : while ($loop->have_posts()) : $loop->the_post(); 
       $data = get_post_meta($loop->post->ID, 'testimonial', true); 
       static $count = 0; 
       if ($count == "1") { ?> 

<!-- Quote 1 --> 
<div class="item active"> 
    <div class="row"> 
    <div class="col-sm-12"> 
     <p><?php the_content(); ?></strong></small> 

    </div> 
    </div> 
</div> 




<!-- Quote 2 --> 
<div class="item"> 
    <div class="row"> 
    <div class="col-sm-12"> 


<!-- this php else is the issue, one testimonial should only release per slide --> 
    <?php } else { ?> 
     <p><?php the_content(); ?> 
</p> 
     <small><strong></strong></small> 
    </div> 
    </div> 
</div> 
    <?php 
$count++; } 
endwhile; 
endif; ?> 
</div> 

私はそれが可能であることを知っています、私はちょっと分かりません。どんな指導も感謝して受け取ります。

答えて

0

はこれを試してください:あなたは、他の必要性を持っているようにあなたは何の声もありませんoccassionがありますしない限り、

<div class="carousel-inner"> 

       <?php 
       $args = array('post_type' => 'testimonial', 'posts_per_page' => 10); 
       $loop = new WP_Query($args); 
       if ($loop->have_posts()){ 
        while ($loop->have_posts()){ 
         $loop->the_post(); 
         $data = get_post_meta($loop->post->ID, 'testimonial', true); ?> 

<!-- Quote 1 --> 
<div class="item active"> 
    <div class="row"> 
    <div class="col-sm-12"> 
     <p><?php the_content(); ?></strong></small> 

    </div> 
    </div> 
</div> 
      <?php  } 
       } ?> 
</div> 

それは、いないようです。この場合、else {}の中に代替コンテンツを表示することができます。

私は、何が起きているのかをより明確にするために単純にしようとしました。今度はループの中で、功績があるたびに<div class="item active"> divを繰り返し、ループするたびに現在の功績の内容を入れます。それで、最初の10個(あなたが'posts_per_page' => 10のように)をループして、証言があるたびに新しいスライドを印刷し続けます。

私はコード内でこれをどこで使用するのか分かりませんが、$data = get_post_meta($loop->post->ID, 'testimonial', true);という行を含めました。データ変数は、ID「証言」を使用して、証明書タイプにカスタムフィールドがある場合にのみコンテンツを保持します。

+0

このに探していただきありがとうございます。私はそれを試してみましたが、残念ながら、すべての投稿をループしています。これを見てくれてありがとう。 http://thecodeblock.com/testimonial-slider-using-bootstrap-carousel/からチュートリアルを見つけました –

0

から代替チュートリアルを見つけたとして、このポストを閉じたいのですが、これはその技術であります私はそれをカスタムポストタイプで動作させるために使用しました。

<div class="testimonials" id="testimonials"> 
<div class="container-fluid"> 
    <div class="row no-padding"> 
     <div class="testimonial-content"> 
      <div class="col-md-push-2 col-md-3"> 
       <div id="carousel-example-generic" class="carousel slide" data-ride="carousel"> 

       <!-- Wrapper for slides --> 
       <div class="carousel-inner" role="listbox"> 
        <?php 

        if($query->have_posts()) : 
         while($query->have_posts()) : 
         $query->the_post(); 
         $i++; 
        ?> 

        <div class="item <?php if ($i == 1) {echo 'active';} ?>"> 

         <p><?php the_field('testimonial'); ?></p> 
         <div class="testimonials-image"> 
          <img class="img-responsive" src="<?php the_field('testimonial_image'); ?>" alt=""> 
         </div> 
         <h5><?php the_field('testimonial_name'); ?></h5> 
         <h6><?php the_field('testimonial_occupation'); ?></h6> 

        </div> 

        <?php 
        endwhile; 
         endif; 
         wp_reset_postdata(); 
        ?> 

       </div> 

       <!-- Controls --> 
       <a class="left" href="#carousel-example-generic" role="button" data-slide="prev"> 
        <i class="fa fa-long-arrow-left" aria-hidden="true"></i> 
        <span class="sr-only">Previous</span> 
       </a> 
       <a class="right" href="#carousel-example-generic" role="button" data-slide="next"> 
        <i class="fa fa-long-arrow-right" aria-hidden="true"></i> 
        <span class="sr-only">Next</span> 
       </a> 

       </div> 
      </div> 
     </div> 
    </div> 
</div> 

関連する問題