WordPressで新着記事一覧にNEWアイコンをつける

WordPressの新着記事リストをトップページなどの固定ページに挿入したい場合はカテゴリナンバーと記事のタイトルを取得するコードを埋め込みます。

通常は

[php]

<?php $posts = get_posts(‘numberposts=10&cat=0’); global $post;?>
<?php foreach($posts as $post): ?>
<?php endforeach; ?>

[/php]

で書くことができます。
この場合10件までの最新記事をカテゴリ関係なく表示することになります。

カテゴリを特定して抽出したい場合はcat=0 の部分をカテゴリ番号でcat=1 などに変えればOKですね。

新着マークを出したい

今回はそれにもうちょっと欲を出してNEWアイコン(NEWマーク)を出したいと思い、テンプレートに追加してみました。

[php]
<ul>
<?php $myposts = get_posts(‘numberposts=10&cat=0&order=DESC’); global $post;
setup_postdata( $post ); ?>
<?php foreach($myposts as $post):
$cat_now = get_the_category(); // 現在の記事のカテゴリ(配列)
$cat_id = $cat_now[0]->term_id; // 最初のカテゴリのID

$lists=get_category_parents($cat_id,false,"/",true); //祖先カテゴリを出力

$list=explode(‘/’,$lists);
?>
<li class="icon_<?php echo $list[0]; ?>"><span><?php the_time(‘Y/m/d’); ?></span><a href="<?php the_permalink() ?>"><?php the_title() ?></a>  
<?php
$days=5;
$today=date(‘U’); $entry=get_the_time(‘U’);
$diff1=date(‘U’,($today – $entry))/86400;
if ($days > $diff1) {
echo ‘<font color="#ff6347">New!</font>’;
}
?></li>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?></ul>

[/php]

ちゃんと表示できたーーー!
一人喜んでいます。

まだまだ色々できそうです。

関連記事

  1. カスタムフィールドテンプレートで値がない時は項目ごと表示しない

  2. カテゴリごとに違うsingle.phpで出力したい|Twenty系のカ…

  3. WordPressにページング(ページャー)を追加したい

  4. WordPressで会員用サイトを作る

  5. WordPressカスタマイズに絶対必要なプラグイン集2012

  6. 【制作実績】保田矯正塾様のサイトを制作しました