1

こんにちは、少し問題があります。新しいサイトのフロント ページには、特定の展示製品を開くロールオーバー付きの一連のサムネイル ボックスがあります。私が書いたループは、現在すべての投稿を表示していますが、最終的にはポートフォリオ カテゴリのみに結び付けられます。

しかし、私のマネージャーは、3 番目の投稿の後に最近のブログ投稿を含むスライダーと、5 番目と 7 番目の投稿の後に参照などを含むスライダーをさらに 2 つ必要としています。n回の投稿ごとに同じスニペットを挿入するコードを少し見つけましたが、ループ内にループがあるものを含め、すべて異なるコンテンツで3回だけ発生させたいので、これは私にとっては良くありませんメガゆっくり動かしてください(笑)。これは可能ですか?もしそうなら、誰か私にコードスニペットを教えてもらえますか?

現在のループ

        <!-- Start of loop -->
    <?php if (have_posts()) : ?>

        <!-- Start of Post -->
        <?php while (have_posts()) : the_post(); ?>

        <!-- Check to see if there is featured image -->
        <?php if (function_exists('has_post_thumbnail') && has_post_thumbnail()) { ?>
        <?php $img_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), array( 960,960 )); ?>
        <!-- End Checking -->


        <div class="portfolioblock" style="background-image: url('<?php echo $img_src[0]; ?>');">
    <a href="<?php the_permalink(); ?>">
            <div class="rollover">
              <div class="center">
                <img src="<?php bloginfo('template_url'); ?>/img/zoom.png" alt="More" />
              </div>                    
              <h2><?php the_title(); ?></h2>               
                <p><?php the_excerpt(); ?></p>
    </div>
        </a>
        </div>


          <!-- Start Content Block -->          
        <?php } else { ?>
        <div class="block">
          <h2><?php the_title(); ?></h2>               
          <p><?php the_excerpt(); ?></p>
        </div>            
        <?php } ?>
        <!-- End Content Block -->

        <?php endwhile; ?>
        <!-- End of Post -->

        <?php else : ?>
        //Something that happens when a post isn’t found.

    <?php endif; ?>
    <!-- End of Loop -->

そして、n回の投稿ごとにコードスニペットを挿入するこのコードを見つけました。

<?php $postnum++; if($postnum%5 == 0) { ?>
YOUR AD CODE HERE
<?php } ?>
4

3 に答える 3

3

通過した投稿の数を数えてから、それを決定できます。

$postnum++;
if ($postnum == 3 || $postnum == 5 || $postnum == 7) {
    echo 'foo';
}
于 2012-08-10T12:57:24.793 に答える
1

cweiskeの答えを詳しく説明します。

終了直前に挿入

    <?php $postnum++;
    if ($postnum == 4) { ?>

            <div class="block"><h2>Blog</h2></div>

    <?php } 
        if ($postnum == 6) { ?>

            <div class="block"><h2>References</h2></div>

    <?php }
        if ($postnum == 9) { ?>

            <div class="block"><h2>Meet the team</h2></div>

    <?php }; ?>
于 2012-08-10T14:16:16.920 に答える
0

基本的にやりたいことはこれです。

ループが始まる前に、カウンター変数を 0 に初期化します。

ループが投稿を正常に見つけるたびに、変数をインクリメントします。

これで、ループごとに、表示された投稿の数がわかります。

したがって、適切な場所で、カウンターをチェックして、3 5 または 7 のいずれかに一致するかどうかを確認します。一致する場合は、正しいブロックを表示します。

于 2012-08-10T13:02:19.940 に答える