WordPressの記事に最新の投稿であることを示す「NEW」を付ける方法として、「1番目に表示された記事にNEWを付ける」あるいは「公開から数日間はNEWを付ける」などいろいろ考えられますが、
全ての投稿記事(カスタム投稿の場合は特定の投稿タイプの記事)の中から最新の記事1件にだけNEWを付けるという方法が紹介されていましたので、シェアさせていただきました。
全投稿記事の中から最新の記事1件にだけNEWを付ける
ご利用のテーマファイル(例えば、single.phpなど)に、以下のようなコードを追加します。
1 2 3 4 5 6 7 8 9 |
<?php $last_post_ids = array(); $lastposts = get_posts('posts_per_page=1'); foreach($lastposts as $lastpost) { $last_post_ids[] = $lastpost->ID; }?> <?php if ( in_array( $post->ID, $last_post_ids ) ) : ?> <span class="new">NEW</span> <?php endif; ?> |
3行目のposts_per_pageに指定した値が表示件数です。
この例の場合、全投稿記事の中から一番最新の記事1件に対して<span class=”new”>NEW</span>が表示されることになります。
※ちなみに、3行目をposts_per_page=3にすると、最新記事3件に対してNEWアイコンが表示されるようになります。
カスタム投稿タイプを指定する
例えば「info」というカスタム投稿タイプの全記事の中から、最新記事1件にだけNEWを付ける場合は、以下のようなコードになります。
1 2 3 4 5 6 7 8 9 |
<?php $last_post_ids = array(); $lastposts = get_posts('post_type=info&posts_per_page=1'); foreach($lastposts as $lastpost) { $last_post_ids[] = $lastpost->ID; }?> <?php if ( in_array( $post->ID, $last_post_ids ) ) : ?> <span class="new">NEW</span> <?php endif; ?> |
3行目のpost_typeに対象のカスタム投稿タイプを指定します。
参考ページ
http://wp3.jp/2011/12/25/wordpress-new/
コメント