固定ページを作成中ですが1ページにつき15件表示する設定で、記事を3分割にして表示したいと思ってます。
画像、タイトル、記事のアップロード日付け、コメントの抜粋、続きを読む
それぞれループするように組んでます。
3件ずつ新しい投稿から表示したいのですが3分割にするためにはどうすればよいのでしょうか?
<!--ループ1--> <hr> <?php $wp_query = new WP_Query(); $args = array( 'post_type' => "post", //投稿タイプ設定 'posts_per_page' => 2, // 表示する投稿数(-1を指定すると全投稿を表示) ); $wp_query->query($my_posts); if ($wp_query->have_posts()) : $i = 0; $i <= 10; while ($wp_query->have_posts()) : $wp_query->the_post(); ?> <?php /**** ▼1件分の投稿内容HTML ****/ ?> <ul class="newarrival_list"> <li class="custom"><a href="<?php echo get_permalink(); ?>"> <span class="img-wrap"> <!--画像を追加--> <?php // アイキャッチ画像の確認 if (has_post_thumbnail()) { // 存在する the_post_thumbnail(); } else { // 存在しない echo '<img src="noimage.jpg">'; } ?> </span> <!--リンククラスつきのタイトルを追加--> <div class="img-wrap2"> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> </div> <!--日付けを追加--> <div class="post-meta2"><div class="img-wrap3"> <?php the_time('Y/m/d'); ?></div> <!--リンククラス付きのカテゴリーを追加--> <?php $categories = get_the_category(); if ($categories) { echo '<ul>'; foreach ($categories as $category) { echo '<li class="cat1"' . $category->slug . '"><a href="' . esc_url(get_category_link($category->term_id)) . '">' . $category->name . '</a></li>'; } echo '</ul>'; } ?> <!--リンククラス付きのコメント数を追加--> <?php $num_comments = get_comments_number(); if ($num_comments == 0) { $comments = __('No Comments'); // 댓글이 없을 경우 } elseif ($num_comments > 1) { $comments = $num_comments . __(' Comments'); // 댓글이 2개 이상일 경우 } else { $comments = __('1 Comment'); // 댓글이 1개일 경우 } $write_comments = '<span class="singlecomments"><a href="' . get_comments_link() . '">' . $comments . '</a></span>'; echo $write_comments; ?></div> <!--リンククラス付きのコメントの抜粋を追加--> <div class="img-wrap4"> <?php the_excerpt(); ?></div> <!--リンククラス付きの記事を読むを追加--> <div class="img-wrap5"> <a href="<?php the_permalink(); ?>">記事を読む</a> </div> </li></ul> <?php $i++; ?> <?php if ($i >= 3) break; ?> <?php endwhile; ?> <?php endif; ?> <!--//ループ1--> <!--ループ2--> <?php $wp_query = new WP_Query(); $args = array( 'post_type' => "post", //投稿タイプ設定 'posts_per_page' => 2, // 表示する投稿数(-1を指定すると全投稿を表示) ); $wp_query->query($my_posts); if ($wp_query->have_posts()) : while ($wp_query->have_posts()) : $i<=4; //iが4より小さい時は、while内のループ処理を実施する $i>3;break; //iが3より大きい時は、while文を強制終了する $wp_query->the_post(); ?> <hr> <?php /**** ▼1件分の投稿内容HTML ****/ ?> <ul class="newarrival_list"> <li class="custom"><a href="<?php echo get_permalink(); ?>"> <span class="img-wrap"> <!--画像を追加--> <?php // アイキャッチ画像の確認 if (has_post_thumbnail()) { // 存在する the_post_thumbnail(); } else { // 存在しない echo '<img src="noimage.jpg">'; } ?> </span> <!--リンククラスつきのタイトルを追加--> <div class="img-wrap2"> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> </div> <!--日付けを追加--> <div class="post-meta2"><div class="img-wrap3"> <?php the_time('Y/m/d'); ?></div> <!--リンククラス付きのカテゴリーを追加--> <?php $categories = get_the_category(); if ($categories) { echo '<ul>'; foreach ($categories as $category) { echo '<li class="cat1"' . $category->slug . '"><a href="' . esc_url(get_category_link($category->term_id)) . '">' . $category->name . '</a></li>'; } echo '</ul>'; } ?> <!--リンククラス付きのコメント数を追加--> <?php $num_comments = get_comments_number(); if ($num_comments == 0) { $comments = __('No Comments'); // 댓글이 없을 경우 } elseif ($num_comments > 1) { $comments = $num_comments . __(' Comments'); // 댓글이 2개 이상일 경우 } else { $comments = __('1 Comment'); // 댓글이 1개일 경우 } $write_comments = '<span class="singlecomments"><a href="' . get_comments_link() . '">' . $comments . '</a></span>'; echo $write_comments; ?></div> <!--リンククラス付きのコメントの抜粋を追加--> <div class="img-wrap4"> <?php the_excerpt(); ?></div> <!--リンククラス付きの記事を読むを追加--> <div class="img-wrap5"> <a href="<?php the_permalink(); ?>">記事を読む</a> </div> </li></ul> <?php $i++; ?> <?php endwhile; ?> <?php endif; ?> <!--//ループ2-->
前提・実現したいこと
3件目以降出力されないので4件目から出力したい
ヘディングのテキスト
$i <=4; $i <= 10; while ($wp_query->have_posts()) : $wp_query->the_post(); continue; echo $i; //以降の処理をスキップして、次のループ処理を行う。
発生している問題・エラーメッセージ
なし
試したこと
変数 i の値が 0 から → $i = 0
10 未満の間は、 → $i <= 10
i の値を1づつ加算しながら → i++
以下の命令文を実行する。
continue; echo $i; //以降の処理をスキップして、次のループ処理を行う。
0から3まででbreakして,
$i<=4; //iが4より小さい時は、while内のループ処理を実施する
$i>3;break; //iが3より大きい時は、while文を強制終了する
あなたの回答
tips
プレビュー