前提
ワードプレスのアーカイブでお知らせページを作成していますが、
理想の出力が出来ないので、お教え頂きたいです。
実現したいこと
「最新のお知らせ」は最新の記事一件を常に表示し、
「過去のお知らせ」に2件目からの記事を5件表示し、ページネーションを設置したいです。
発生している問題・エラーメッセージ
ページネーションで次のページにいくと 「最新のお知らせ」が変わってしまいます。
該当のソースコード
▼archive-topics.php
<?php $wp_query = new WP_Query(); $param = array( 'posts_per_page' => '6', 'post_type' => 'topics', 'paged' => $paged, ); $wp_query->query($param); if($wp_query->have_posts()): while($wp_query->have_posts()) : $wp_query->the_post(); ?> <?php if (is_first()) { ?> <h4>最新のお知らせ</h4> <section> <p class="date"><?php the_time('Y.m.d') ?></p> <h3><?php the_title(); ?></h3> <div class="description"><?php the_content(); ?></div> </section> <h4>過去のお知らせ</h4> <?php } else { ?> <section> <dl> <dt><a href="<?php the_permalink(); ?>"><?php the_time('Y.m.d') ?></a></dt> <dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd> </dl> </section> <?php } ?> <?php endwhile;endif; ?> <div class="pagination"> <?php global $wp_rewrite; $paginate_base = get_pagenum_link(1); if(strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()){ $paginate_format = ''; $paginate_base = add_query_arg('paged','%#%'); } else{ $paginate_format = (substr($paginate_base,-1,1) == '/' ? '' : '/') . user_trailingslashit('page/%#%/','paged');; $paginate_base .= '%_%'; } echo paginate_links(array( 'base' => $paginate_base, 'format' => $paginate_format, 'total' => $wp_query->max_num_pages, 'mid_size' => 1, 'current' => ($paged ? $paged : 1), 'prev_text' => '<', 'next_text' => '>', )); ?>
▼functions.php
function is_first(){ global $wp_query; return ($wp_query->current_post === 0); }
試したこと
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

0 コメント