パルどうナレッジ WEB屋の備忘録

【ワードプレス】カテゴリごとに記事を一覧表示する方法

トップページにカテゴリごと記事を表示したい!

な人に向けて完璧な答えを提供する記事。

1、目標

<カテゴリ名1>
・記事1
・記事2
・記事3

<カテゴリ名2>
・記事1
・記事2
・記事3

というのを表示する。

2、実現するサンプルコード


<?php
$category_id = array(2,12,13,14);
$category_name = array('WEB制作','料理・食事','ファション','生活全般');
$catcount = count($category_id);

for($i=0;$i<$catcount;$i++){
?>

<h2><?php echo $category_name[$i] ?></h2>
<ul>
<?php
$args = array(
'posts_per_page' => 5,//記事を表示する件数
'cat' => $category_id[$i],
);
$the_query = new WP_Query($args);
if ( $the_query->have_posts() ) :
while ( $the_query->have_posts() ) : $the_query->the_post();
$samune = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'Midiamu');
$category_url = get_category_link($category_id[$i]);
?>

<!--ここはループ部分なので自分のサイト用に組み立てを-->
<li><img src="<?php echo $samune[0] ?>" alt="" width="" height=""/><br>
<a href="<?php the_permalink() ?>"><?php echo $post->post_title ?></a><br>
投稿日:<?php the_time('Y/m/d'); ?></li>

<?php
endwhile;
endif;
wp_reset_postdata();
?>
</ul>
<?php
echo '<div><a href="'.$category_url.'">'.$category_name[$i].'の記事一覧</a></div>';
}
?>

カテゴリ一つずつWP_Queryで表示しているだけです。
やり方はいろいろあるので、自分の好みのように。

3、補足

カテゴリIDとカテゴリ名の配列は自力で作成すること。

自動で取得もできますが、
やはりカテゴリを表示する順番は自分で決めた方がいいです。
そのため、IDと名前の配列を作成してください。

あと、カテゴリ数が多いと負荷が増えるのでキャッシュを推奨します。
このままテキストに保存してもいいし、別にfile_get_contentsで取得して保存してもいい。
自分は記事を追加次第に手動でキャッシュ更新しています。

ワードプレスの記事一覧

記事一覧はこちら:ワードプレス

管理コード(復活の呪文)
【ワードプレス】カテゴリごとに記事を一覧表示する方法
シヒそねの ウどみらせ ニヅてァし わナをゅサ ホアそてが バぞョメド ひンニァナ ひツざそロ デほぷバし ぇヂポミメ あなミわマ ピなソゥゲ がぐみェぎ ぷたおコぎ きよゾゃぃ のィルゲリ ナちヤをび はシヌジデ るヤどうゲ ほはまヂイ えぞれづツ イビケルレ ぎァどポハ チぢせヌけ こますベよ ムなれゥラ カルぬげキ ぞばセトタ ぁユャあぼ くデようィ ゥんもおザ フもチマぺ よズせるな よゾネテレ ぜぇだナわ ネシぴらぺ かへぢゆカ トぇヌバベ をタプぴァ