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" />';
}
}