ワードプレスで最も新しい投稿(更新情報)をリンク付きで表示する方法を解説いたします。


テンプレートを作る

まず更新情報を表示するテンプレートを作ります。このテンプレートをワードプレスの固定ページ編集画面で選択すると更新情報を任意の数表示するページが出来上がるという形にいたします。

<?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を返してくれる関数となります。タイトルをこれでリンクします。

参考になりましたら幸いです。

WordPress ワードプレスのテーマの作成・カスタマイズのご依頼・ご相談はワードプレスドクターまでお気軽にお送りください