2016-11-23 5 views
1

ホームページの5番目ごとの投稿の後にdivを挿入する方法はありますか?ここで5回目のWordpress投稿ごとに部門を挿入しますか?

は私のループです:

<?php 
      if (have_posts()) : 

        if (is_home() && ! is_front_page()) : ?> 
        <header> 
         <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> 
        </header> 


        <?php 
       endif; 

       /* Start the Loop */ 
       while (have_posts()) : the_post(); 

        /* 
        * Include the Post-Format-specific template for the content. 
        * If you want to override this in a child theme, then include a file 
        * called content-___.php (where ___ is the Post Format name) and that will be used instead. 
        */ 
        get_template_part('template-parts/content', get_post_format()); 

       endwhile; 

       the_posts_navigation(); 

      else : 

       get_template_part('template-parts/content', 'none'); 

        endif; 


     ?> 

は、どのように私はdiv要素は、すべての5日後の後に表示させるためにループにこのコードを挿入することができますか?

while(have_posts()): 

    if(1 == $wp_query->current_post): 
     echo '<div>My div!</div>'; 
    endif; 

endwhile; 

答えて

0

whileの前に、値0の変数を宣言して、この変数をその中でインクリメントすることができます。例:

$counter = 0; 

    while(have_posts()): 
    // codes 
    $counter ++; 
    if ($counter >= 5) { 
    echo '<div>My div!</div>'; 
    $counter = 0; // clean to count again 
    } 
    endwhile; 

コードは次のようになります。

<?php 
      if (have_posts()) : 

        if (is_home() && ! is_front_page()) : ?> 
        <header> 
         <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> 
        </header> 


        <?php 
       endif; 

$counter = 0; 

       /* Start the Loop */ 
       while (have_posts()) : the_post(); 

        /* 
        * Include the Post-Format-specific template for the content. 
        * If you want to override this in a child theme, then include a file 
        * called content-___.php (where ___ is the Post Format name) and that will be used instead. 
        */ 
        get_template_part('template-parts/content', get_post_format()); 

    $counter ++; 
    if ($counter >= 5) { 
    echo '<div>My div!</div>'; 
    $counter = 0; // clean to count again 
    } 

       endwhile; 

       the_posts_navigation(); 

      else : 

       get_template_part('template-parts/content', 'none'); 

        endif; 


     ?> 
+0

私はあなたの「//コード」セクションに私のコードを挿入し、あなたの提案を試してみました、しかし、サイトを破るようです。私はそれが間違っている必要があります。 –

+0

whileカウンタの前に$ counter = 0だけ置いてください。 //コードは、ここではいくつかのワードプレスコードを持つ例です。私はあなたのテーマにどのように適用すべきかを正確に示すためにコメントを編集します。 – bruno

+0

ああ、私は見る!さて、それは確かに今働く!私はbrunoを助けるために時間をとってくれてありがとう!非常に高く評価! –

関連する問題