WordPress で新着記事を表示する方法

WordPress での新着記事を表示する定石です。

単純に新着記事を一覧にするコード

このまま貼りつければその場所に新着記事を表示できます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
	query_posts(
		Array(
			'post_type' => 'post',
			'orderby' => 'date',
			'order' => 'DESC'
		)
	);
	if (have_posts()) : while (have_posts()) : the_post();
?>
 
	<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br>
 
<?php
	endwhile; endif;
	wp_reset_query();
?>

query_posts() でクエリを発行してループを回す。終わったら wp_reset_query() で発行したクエリをリセット、いわゆる通常の状態に戻すのが基本となっております。

query_posts() の部分を変更すれば様々な一覧を作れます

WordPress の設定に関係なしに30件の新着記事を一覧にする

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
	query_posts(
		Array(
			'post_type' => 'post',
			'orderby' => 'date',
			'order' => 'DESC',
			'showposts' => 30,
			'posts_per_page' => 30,
		)
	);
	if (have_posts()) : while (have_posts()) : the_post();
?>
 
	<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br>
 
<?php
	endwhile; endif;
	wp_reset_query();
?>

カスタム投稿タイプ(ニュース)の記事一覧ページを作る

カスタム投稿タイプもこのコードの応用で実装できます。ちなみに query_posts() でクエリを発行する仕組みにすれば、ページネーションも可能となります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
	query_posts(
		Array(
			'post_type' => 'news',
			'orderby' => 'date',
			'order' => 'DESC',
			'paged' => get_query_var('paged')
		)
	);
	if (have_posts()) : while (have_posts()) : the_post();
?>
 
	<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br>
 
<?php
	endwhile; endif;
	wp_reset_query();
?>

新着記事を出力するにはいろいろと方法があります

私の知る限りでも3つ程方法があるのですが、上記で紹介したとおりカスタム投稿タイプなども同じ様に出力ができて、ページネーションも作り易いので、このセットで覚えておくと便利です。

コメント

  1. だいはくリキさんのコメント

    はじめまして。

    こういうのはすべてプラグインを使って実現してました。

    PHPを勉強すればもっと便利な使い方がみつかるかもですね。

    有益な情報ありがとうございました。