サイドバーにサムネイル付き最新記事一覧を追加

このエントリーをはてなブックマークに追加

WordPress の最新記事一覧ってどうやって出力するんだっけ???ふと思ったことがきっかけで、サイドバーに最新記事の一覧が表示されるようにしてみた。

なお、サイドバーはWidgetでの管理も検討してみたのですが、シンプルにしておくだけでよかったので必要最小限のPHPだけで固定で設置しておくことにしました。

今回作成したコード

一覧の取得は テンプレートタグの get_posts() を利用しました。

Template Tags/get posts « WordPress Codex

テンプレート

<?php
  $sidebar_archive_post_args = array('posts_per_page' => 10);
  $sidebar_archive_post = get_posts( $sidebar_archive_post_args );
  foreach ( $sidebar_archive_post as $post ) : setup_postdata( $post ); ?>
<li>
  <a href="<?php the_permalink(); ?>">
    <span class="thumb"><?php post_thumbnail_min_set(); ?></span>
    <span class="side-entry-title"><?php the_title(); ?></span>
  </a>
</li>
<?php endforeach; wp_reset_postdata(); ?>

サムネイル部分はあれば表示、なければデフォルト画像を表示します。

WordPress アイキャッチの登録がない場合は、未登録の画像を表示させる - HAM MEDIA MEMO

サムネイル部分のソース

function post_thumbnail_min_set () {
  if( has_post_thumbnail() ) {
    the_post_thumbnail( array(50, 50) );
  } else {
    echo '<img src="https://cdn.getshifter.co/32715484ff1aa7a6d477ee970ea9c436cc4ba636/uploads/no-post-thumbnail-50x50.png" alt="No Post Thumbnail" />';
  }
}