デザインカンプ赤枠の箇所をpre_get_postsを用いてfront-page.phpに表示したいです。
functions.phpにpre_get_postsをこのようにしています。
PHP
1 function myPreGetPosts( $query ) { 2 if ( is_admin() || ! $query->is_main_query() ){ 3 return; 4} 5 // 指定したページとメインクエリの場合に限定 6 if ( $query->is_front_page() && $query->is_main_query() ) { 7 $query->set( 'post_type', 'post' ); 8 $query->set( 'posts_per_page', '3' ); 9 } 10} 11 12add_action( 'pre_get_posts', 'myPreGetPosts' ); 13コード
そしてfront-page.phpは下記のように書きました。
HTML
1 <div class="blog_area"> 2 <h2 class="blog_notice__title">ブログ</h2> 3 <?php 4 if ( have_posts() ) : while ( have_posts() ) : the_post(); 5 ?> 6 <div class="blog__wrapper"> 7 <?php the_post_thumbnail('thumbnail', array('class' => 'blog__img')); ?> 8 <p class="blog__category"><?php the_category(','); ?></p> 9 <div class="blog_heading"> 10 <?php the_title( '<h2 class="blog__title"><a href="' . esc_url( get_permalink() ) . '">', '</a></h2>' ); ?> 11 <p class="time__date"><?php echo get_the_date(); ?></p> 12 </div> 13 </div> 14 <?php endwhile; //繰り返し処理終了 ?> 15 <?php else : //条件分岐:投稿がない場合は ?> 16 <h2 class="blog__title">投稿が見つかりません。</h2> 17 <?php endif; //条件分岐終了 ?> 18 </div> 19コード
しかし結果は以下の画像のように front-page.phpがループ表示されています。
pre_get_postsでTOPページ(front-page.php)に投稿記事一覧を表示させるにはどうすれば良いでしょうか? 教えてください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。