固定ページで投稿の一覧表示の実装【初心者のためのWORDPRESS -07-】

HOME>Journal>固定ページで投稿の一覧表示の実装【初心者のためのWORDPRESS -07-】

今回は固定ページでの投稿一覧を作成してみようと思います。

投稿の一覧のページはブログ専用サイトではなく企業サイトの新着情報などで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="<?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-

Feature

Latest

Category

Archives

お気軽にお問い合わせください