ACF proを用いて、固定ページにニュースを作成しています。
固定ページ(archive.php)にニュース一覧を9件表示したいです。
おそらく
if ( $query-> is_post_type_archive('news') )
が誤っているのではと自分では考えました。
('') にはカスタムフィールド のスラッグが入るととあるサイトで拝見し、archive.phpのスラッグを取得すると'page'と出てきたのでそれを入れてみたり、'archive'を入れてみたりしましたがうまく表示件数が出力されませんでした。
何か原因があればご教授頂きたいです。
以下コードです。
php
1 2 3//archive.phpです 4 5<?php 6/* 7 * Template Name: ニュースアーカイブ 8 */ 9?> 10 11 12 13<?php get_header(); ?> 14 15 16 17 18 19<?php get_template_part('top-wrapper'); ?> 20 21 22 23<section class="news-wrapper"> 24 25 <h2 class="section-title">NEWS</h2> 26 <div class="news-contents"> 27 <?php if(get_field('news_contents')): ?> 28 29 <div class="news-items news-items-archive"> 30 <?php while(the_repeater_field('news_contents')): ?> 31 <div class="news-item news-item-archive"> 32 <a href="#"> 33 <div class="news-img"><img src="<?php the_sub_field('news_img'); ?>" alt=""></div> 34 <div class="news-text"> 35 <p class="news-date"><?php the_sub_field('news_date'); ?></p> 36 <p class="news-title"><?php the_sub_field('news_title'); ?></p> 37 </div> 38 </a> 39 </div> 40 <?php endwhile; ?> 41 </div> 42 <?php endif; ?> 43 44 <?php wp_reset_postdata(); ?> 45 </div> 46<div class="btn-center"><a href="#" class="btn btn-red news-btn">NEWS一覧へ</a></div> 47 48 49 50 51</section> 52 53 54 55 56 <div class="pagenation-items"> 57 <ul> 58 <li><a href="#" class="pagenation-item">1</a></li> 59 <li><a href="#" class="pagenation-item">2</a></li> 60 <li><a href="#" class="pagenation-item">3</a></li> 61 </ul> 62 </div> 63 64 65 66 67<?php get_footer(); ?>
php
1//funciton.phpです 2 3function change_posts_per_page($query) { 4 5 6 if( is_admin() || ! $query->is_main_query() ){ 7 return; 8 } 9 10 if ( $query-> is_post_type_archive('news') ) { 11 $query-> set( 'posts_per_page', '9' ); 12 return; 13 } 14} 15 16add_action( 'pre_get_posts', 'change_posts_per_page' ); 17 18?> 19
あなたの回答
tips
プレビュー