WordPress サイドバーに記事の一覧をサムネイル付きで表示する

今日から6月!。もうすぐ梅雨の季節。ちょっとナイーブになりがちですが、頑張っていきましょう。相変わらず今日もWordPress関連です。WordPress新着の記事や関連記事のタイトルをサイドバーに表示させる機能ははじめから多少あると思います。

またプラグインでもさまざまな記事一覧表示系のものがあります。逆に多すぎてどれが効果的なものか見つけるのが大変なくらいです。

上記のプラグインを利用すればウィジェットとしてサイドバーに表示可能ですが、今回はトップページ以外に表示させたいと思いウィジェットではちょっと難しいのかなと。。(多分工夫すればできそうですが)

しかしPHP、WordPressのスクリプトを勉強するついでに直接コードを貼り付けてやりましょう!というコンタンです。
そして記事タイトルが並ぶだけではつまらないので、ついでにサムネイルも一緒に表示させましょう!

sidebar.phpの任意の箇所に以下のコードを記述しました。

sidebar.php

<?php if(! is_home()): //home以外に適用する ?>

<li class="post_list">
<h3 class="widget-title">記事一覧</h3>
<?php $posts = get_posts('numberposts=10'); ?>
<?php foreach($posts as $post): ?>

<div class="list">
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(50,50), array('class' => 'left')); ?></a>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</div>

<?php endforeach; ?>
</li>

<?php endif; ?>

特定のカテゴリを表示したい場合

「&category=112」を追記します。(112はカテゴリIDです。)

<?php if(! is_home()): //home以外に適用する ?>

<li class="post_list">
<h3 class="widget-title">記事一覧</h3>
<?php $posts = get_posts('numberposts=10&category=112'); ?>
<?php foreach($posts as $post): ?>

<div class="list">
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(50,50), array('class' => 'left')); ?></a>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</div>

<?php endforeach; ?>
</li>

<?php endif; ?>

特定のカテゴリを表示したくない場合

「&category=-112」を追記します。(マイナス)

<?php if(! is_home()): //home以外に適用する ?>

<li class="post_list">
<h3 class="widget-title">記事一覧</h3>
<?php $posts = get_posts('numberposts=10&category=-112'); ?>
<?php foreach($posts as $post): ?>

<div class="list">
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(50,50), array('class' => 'left')); ?></a>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</div>

<?php endforeach; ?>
</li>

<?php endif; ?>

これでトップページ以外のサイドバーに記事一覧が表示されるます。