ワードプレスで最も新しい投稿(更新情報)をリンク付きで表示する方法を解説いたします。
テンプレートを作る
まず更新情報を表示するテンプレートを作ります。このテンプレートをワードプレスの固定ページ編集画面で選択すると更新情報を任意の数表示するページが出来上がるという形にいたします。
<?php /** * Template Name: 更新情報ページ */ get_header(); ?> <div id="content" role="main"> <h1>更新情報</h1> <!-- 更新情報を表示するコード --> </div> <?php get_sidebar(); ?> <?php get_footer(); ?>
このテンプレートは、ヘッダーサイドバー、フッターの出力を含むシンプルな固定ページテンプレートです。
もし、すでにある固定ページに更新情報を表示する場合は、このテンプレートを作成する必要はありません。次のステップのコードを直接任意の固定ページテンプレートに埋め込むと更新情報を表示するパーツを追加することができます。
更新情報を5件、タイトルと日付、リンク付きで表示するコード
上記テンプレートの<!– 更新情報を表示するコード –> の下の部分にワードプレスの更新情報を5件タイトルと日付、リンク付きで表示するコードを追加していきます。
<!-- 更新情報を表示するコード --> <?php $recent_posts = wp_get_recent_posts(array( 'numberposts' => 5, // 表示する数 'post_status' => 'publish' // 公開されている投稿のみを表示 )); foreach( $recent_posts as $post_item ) : $post_date = date( 'Y年m月d日', strtotime( $post_item['post_date'] )); ?> <div class="news"> <div class="day"><?php echo $post_date; ?></div> <div class="title"><a href="<?php echo get_permalink($post_item['ID']) ?>" title="<?php echo $post_item['post_title'] ?>"><?php echo $post_item['post_title'] ?></a></div> <div class="clear"></div> </div> <?php endforeach; ?>
wp_get_recent_posts で最新の投稿を5件取得しています。
これをforeach 文で次から次に出力します。一つ一つの投稿の連想配列には、投稿の情報が入っており、$post_item[‘post_title’]=タイトル、$post_item[‘post_date’]=投稿日時 などの形で情報を指定して取り出すことができます。
get_permalinkは、投稿のIDを与えるとその投稿へのリンクURLを返してくれる関数となります。タイトルをこれでリンクします。
参考になりましたら幸いです。