今回は固定ページでの投稿一覧を作成してみようと思います。
投稿の一覧のページはブログ専用サイトではなく企業サイトの新着情報などでWPを使用する場合には多く活用されると思います。
今回ご紹介する方法は固定ページでの表示なので、ある程度の一覧情報ならテンプレート化して使っていけると思います。
固定ページ用一覧表示PHP
まずは下記のコードを確認してください。このPHPが固定ページで一覧を表示するためのコードです。
<?php $paged = (int) get_query_var('paged'); $args = array( 'posts_per_page' => 4, 'paged' => $paged, 'orderby' => 'post_date', 'order' => 'DESC', 'post_type' => 'post', 'post_status' => 'publish' ); $the_query = new WP_Query($args); if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); get_template_part( 'bloglist', get_post_format() ); endwhile; endif; wp_reset_postdata(); ?>
簡単にコードの説明をすると4行目のposts_per_pageは表示する記事の件数です。
私は4件と設定してありますが、5件目以上の記事はページングを設定してページ送りにて表示させる予定です。ページングについては次回の記事で詳しくご紹介したいと思います。
基本的にはコピペで実装できますが、1つ注意点があります。それは14行目にあるget_template_partと言う関数です。
上記の私の場合はbloglistという引き数がそれにあたります。
このbloglistでリピートさせる記事の中身を呼び出しています。
お察しの通り、このリピートさせる中身を作成していないと、上記のPHPコードを入れても何も表示されません。
bloglistと言う名前は任意で変更してください。
記事を表示させる一覧ページ用のテンプレート作成
では上記で説明したbloglistの中身を作成します。
私は上記PHPコードを ul タグで括り、中のリストをリピートさせて記事一覧を制作しました。
まずはget_template_partで呼び出している同じ名前のPHPファイルを新しく作成しましょう。今回はbloglist.phpとなります。
このPHPファイルの中身は至ってシンプルでリピートさせたいリストの中身をhtmlコードで記述するだけです。 PHPコードは一切必要ありません。
固定ページと同じディレクトリにbloglist.phpを保存すれば完成です。
bloglist.phpサンプルコード
<li> <?php the_post_thumbnail(); ?> <p class="date"><?php the_time('Y.n.j'); ?></p> <h3><?php the_title(); ?></h3> <p><?php the_excerpt(); ?></p> <p><a href="/en/</?php the_permalink(); ?>">Read More</a></p> </li>
完成した固定ページのご紹介(サンプル)
最後に完成した固定ページのサンプルコードを載せておきます。(ページング付き)
下部に挿入されているページング用のPHPコードはまた次の機会に記事にしたいと思います。
<?php get_header(); ?> <section> <ul class="blog"> <?php $paged = (int) get_query_var('paged'); $args = array( 'posts_per_page' => 4, 'paged' => $paged, 'orderby' => 'post_date', 'order' => 'DESC', 'post_type' => 'post', 'post_status' => 'publish' ); $the_query = new WP_Query($args); if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); get_template_part( 'bloglist', get_post_format() ); endwhile; endif; wp_reset_postdata(); ?> </ul> <div class="paging"> <?php if ($the_query->max_num_pages > 1) { echo paginate_links(array( 'base' => get_pagenum_link(1) . '%_%', 'format' => '/page/%#%/', 'current' => max(1, $paged), 'total' => $the_query->max_num_pages )); } wp_reset_postdata(); ?> </div> </section> <?php get_sidebar(); ?> <?php get_footer(); ?>
固定ページで一覧を作成して見たい方は是非ご参考ください。
上記でちょっとチラ言いましたが、次回は固定でのページング設定について 書いてみようと思います!(予定!)
それではまた次回っノシ
過去記事
▶初心者のためのWORDPRESS -06-
▶初心者のためのWORDPRESS -05-
▶初心者のためのWORDPRESS -04-
▶初心者のためのWORDPRESS -03-
▶初心者のためのWORDPRESS -02-
▶初心者のためのWORDPRESS -01-