WordPressで特定カテゴリの最新記事を1件だけ表示する

「採用LPを自分で作ろう!!」というテーマは今日はお休みして、今回は、WordPress関連のTipsをお届け。
CTOのがみです。

WordBench宮崎のモデレータをやらせてもらっているのですが、勉強会の要望としては「帰ってすぐに使えるTips」を教えてほしい、とよく言われます。

そこで、今回は実例を交えながら、特定カテゴリの最新記事を1件だけ表示するTipsをお伝えします。

ご要望

弊社のお客様であるピッタリ保険様では、
実店舗が2店舗あり、それぞれの店舗のページで最新のお知らせを表示するようにしています。
リリース後にこんなご要望がありました。

「店舗のお知らせが、店舗ごとのページにアクセスしないと見えないので、もっとお客様の目につくところに出したい」

緊急の店休のお知らせなどもここをご利用されるとのことで、このようにしたいというご要望でした。

対応策

ロゴ下(コンテンツの上部)に、店舗のお知らせを1件だけを表示させることで、今お伝えしたいことを目につくところに表示できるのではないか。
そこで、実際の表示はこのようになりました。

PCでの表示

スマホ表示

ロゴの下に「【お知らせ】」という表示を出しています。
実際にアクセスして確認してみてください。

 

実装方法

まず、投稿をテンプレート内で取得しなければいけませんが、投稿を取得する関数として3つあります。

get_posts

  • テンプレートタグ
  • カスタムループを作成する際に使用する
  • メインループには影響を与えない

WP_Query

  • クラス
  • カスタムループを作成する際に使用する
  • メインループには影響を与えない

query_posts

  • テンプレートタグ
  • メインループに影響を与える
  • 非推奨

get_postsを使おう

テンプレート内で完結させたい。メインのループには影響を与えたくない。という理由から、今回使用するのは「get_posts()」です。

get_postsとは get_postsでパラメータを与えることで、思い通りの投稿を取得することができます。
今回使用するものだけ解説しますので、詳しくは上記のマニュアルを見てください。

  • post_type・・・・・・投稿のデフォルトは「post」。
  • その他に、「any」、「attachment」、「page」、「revision」が使用可能。
    「any」を指定すると、リビジョン以外の形式のものを取得できる。
  • order・・・・・・・・取得したページの並び順。デフォルト値は「DESC」。
    ASC が小→大、DESC が大→小。
  • orderby・・・・・・・取得した投稿をどの項目について並べるかを指定する。
    orderby=dateは、日付で並べる
  • showposts・・・・・・出力する投稿の数。
  • category_name・・・カテゴリー名を指定(日本語も可)

以上のパラメータを設定して、投稿を取得することができます。

「1件だけ最新記事を表示する」といったパラメータを確認してください。

get_posts('post_type=post&order=DESC&orderby=date&showposts=1&category_name=topics');

「post_type=post」で投稿を取得、「order=DESC&orderby=date」で日付が新しいもの順に並び替えをしています。
さらに、「showposts=1」で最初の1件を取得。
最後に「category_name=topics」でカテゴリがtopicsのものだけに限定しています。
※このサイトでは、topicsが店舗のお知らせとなっています。

実際のコードはこちら↓↓↓

最後に

いかがでしたでしょうか?
まずは、コピペから初めてみて、自分の運営しているWordPressのサイトにもお知らせを1件だけ表示させてみてください。


おしらせ

「宮崎でITの勉強会に参加したいけど、情報がない!」というあなたへ

宮崎IT関連勉強会という、Facebookグループに参加してください。ここで、勉強会の主催者が開催情報などを告知しています。
こちらのグループもよろしくお願いします。

この記事が気に入ったら
いいね ! しよう

Twitter で
 

新卒採用をはじめるならディーレクトにご相談ください

新卒採用に踏み出せない人事担当者の方、 そのお悩み、ディーレクトが解決します!

ABOUTこの記事をかいた人

中神 大司

株式会社D-rect CTO 専務取締役。大学院在学中よりITベンチャー企業にてプログラマ・エンジニアとして活躍。有名アーティストや海外ブランドのECサイト構築に携わる。その後、株式会社インタークロスにおいて、求人サイト全てのシステム設計・構築に携わり、現在に至る。 Wordbench宮崎の主催や、職業訓練校においてプログラミングの講師を務めるなど、若手技術者の育成にも力を注いでいる。サーバーの構築を得意としており、得意な事は、粗探しとあげ足取り。