webruary

RSS

  • HOME
  • Web
  • Wordpress でカテゴリーを複数指定して新着を表示する。

WordPress でカテゴリーを複数指定して新着を表示する。

Wordpress でサイト作って、新着情報(新着記事)を表示する場合、get_posts() を使ってサササッと全記事中の最新○件表示とかはよくあるんですが、この前「とあるカテゴリーだけを複数指定して表示」するってことがありました。

最初、ちょこちょこイジればなんとかなるんじゃね?とやってみましたが上手くいかず、調べてみたらうまい具合に紹介してるサイト様があったので、紹介しつつ自分の記録用として。

ここから続き

カテゴリーを指定して新着表示。

参考にしたサイト様↓
今さら…いや今だから「WordPressのトップページに、新着記事数件を表示する」サンプルコードをあげとく[WordPress使えそうなスニペットシリーズ]

自分が知りたかったことの他にも、説明付きでいくつかサンプルも載っててありがたやぁ。

ただ、自分の場合はカテゴリーを複数指定して取得しつつ、そのリンク先は「個別記事ではなくカテゴリー記事一覧の該当記事」だったので、一部追加してます。

html
<dl>
  <?php
    $hogehogehoge = get_posts( array(
      'category' => '3,4', // 取得したいカテゴリーの ID を入れる
      'posts_per_page' => 5
    ));
    
    foreach( $hogehogehoge as $post ):
    setup_postdata( $post );
    
    $cat = get_the_category(); // カテゴリーを配列で取得し
    $cat = $cat[0]; // カテゴリー名(カテゴリースラッグ)を指定し
    $cat_slug = $cat -> slug; // $cat_slug に入れる
  ?>
  <dt><?php the_time('Y年n月j日'); ?></dt>
  <dd><a href="<?php echo $cat_slug; ?>/#post-<?php the_ID(); ?>"> <?php the_title(); ?></a></dd>
  <?php
    endforeach;
    wp_reset_postdata();
  ?>
</dl>

get_posts() の条件も category_name(カテゴリースラッグ)ではなく category(カテゴリー ID)になってたりします。

ちなみに、カテゴリー ID はカテゴリー管理画面のリンクでわかったり。
カテゴリー ID の判別方法

  • ツイートする
  • facebookでいいね!する
  • google+でシェアする
  • はてなにブックマークする

Sponsored Links

Comment Form

※ コメント欄には反映されません。むしろ hoge@~ のままでも大丈夫です。
※ <b> のみ使用でき、URL は自動リンクされます。

投稿したコメントは管理人が承認するまで表示されません。
それと、日本語が含まれない場合は投稿がスルーされる(スパム対策)のでご注意ください。