Stinger3カスタマイズ。サイトバーにカテゴリ別の最新記事を表示する。

公開: 更新:2016/10/15


wordpress

WordPressの無料テーマ「Stinger3」で、サイドバーにカテゴリ別の最新記事を表示する方法をご紹介します。

動作のイメージは、こんな感じです。

  1. 個別記事を表示している時
    その記事が属しているカテゴリの最新記事を一覧表示
  2. カテゴリ別アーカイブを表示している時
    そのカテゴリの最新記事を一覧表示
  3. それ以外(トップページなど)
    カテゴリを問わず、最新記事を一覧表示

スポンサーリンク

カスタマイズの手順

まず、sidebar.phpファイル内の、次の箇所を削除します。

<!--最近のエントリ-->

中略

<!--/最近のエントリ-->

続いて、先ほど削除した箇所に、次のコードを追加します。

<!--最近のエントリ-->
<?php
$num = 10;
/* 個別記事の時は、カテゴリ別の最新記事を表示する*/
if (is_single()){
	$cat = get_the_category();
	$cat = $cat[0];
	$motto = get_category_link( $cat->cat_ID );
	query_posts($query_string . '&category_name='.$cat->slug.'&posts_per_page='.$num.'&offset=0');
	echo '<h2 class="menu_underh2">「'.$cat->name.'」の最新記事</h2>';
/* カテゴリ別アーカイブの時は、カテゴリ別の最新記事を表示する*/
}else if(is_category()){
	$cat = get_query_var('cat');
	$cat = get_category($cat);
	$motto = get_category_link( $cat->cat_ID );
	query_posts($query_string . '&category_name='.$cat->slug.'&posts_per_page='.$num.'&offset=0');
	echo '<h2 class="menu_underh2">「'.$cat->name.'」の最新記事</h2>';
/* それ以外の時は、全カテゴリの最新記事を表示する*/
}else{
	$motto = home_url();
	query_posts('posts_per_page='.$num.'&offset=0'); 
	echo '<h2 class="menu_underh2">最新記事</h2>';
}
?>
<div id="topnews">
<div>
<?php if(have_posts()):while(have_posts()):the_post();?>
<dl>
<dt>
<span>
<a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>">
<?php if ( has_post_thumbnail() ): // サムネイルを持っているときの処理 ?>
	<?php the_post_thumbnail( 'thumb100' ); ?>
<?php else: // サムネイルを持っていないときの処理 ?>
	<img src="<?php echo get_template_directory_uri(); ?>/images/no-img.png" alt="no image" title="no image" width="100" height="100" />
<?php endif; ?>
</a>
</span>
</dt>
<dd>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
<p><?php echo mb_substr( strip_tags( stinger_noshotcode( $post->post_content ) ), 0, 35 ) . ''; ?></p>
</dd>
<p class="clear"></p>
</dl>
<?php
endwhile; endif;
wp_reset_query();
wp_reset_postdata();
?>
<p class="motto"> <a href="<?php echo $motto; ?>/">→もっと見る</a></p>
</div>
</div>
<!--/最近のエントリ-->

子テーマを作成したうえで、お試しくださいね。

画像引用元:how to make WordPress needle cushion 3 by Odyssey

スポンサーリンク
スポンサーリンク
【WordPress】カテゴリを判別して、最新記事をサムネイル付きで一覧表示する方法

今回は、表示している記事のカテゴリを判別して、そのカテゴリの最新記事一覧をサイドバーに表示する方法をご紹介します。しかもサムネイル画像と一緒...

カテゴリ別の最新記事一覧をライブドアブログのサイドバーに表示する方法

今回は、ライブドアブログのサイドバーにカテゴリ別の最新記事を一覧表示する方法をご紹介します。例えば、いま表示されている記事が料理レシピだとし...

Stinger3カスタマイズ。yet another related posts pluginで関連記事を表示する。

関連記事を表示してくれるプラグイン、YARPP(yet another related posts plugin)。このWordPressプ...

楽天ランキング上位の商品を、全自動でアフィリエイトする方法をご紹介します。

WordPressで運用しているブログに楽天市場の人気商品を自動で貼り付ける方法を、ご紹介します。一度設定をしておけば毎日更新されるので、手...

田中功起さんの美術館の備品を使ったインスタレーション&映像作品?横浜トリエンナーレ2011より?

 横浜トリエンナーレ2011のコンセプトの1つ、”美術館の所蔵品や美術館という場所に新たな視点を投げかける” を意識してのことかもしれません...