ウェブログ

[WordPress]同日&複数投稿の際に一つ目の記事しか表示されない場合の対応


2957513_head
同じ日に別の投稿がある場合、WordPressのテンプレートタグによっては最新の記事しか表示されない場合があります。

例えば以下のような場合。
The date error 8

2つ目の投稿が1つ目の記事の投稿日付と同じなので、表示されません。

回答:the_time()かget_the_date()を使おう

結論からいうと、今回の件は「the_time()」か「get_the_date()」を使うと解決します。
日付を表すWordPressテンプレートタグはいくつかありますが、代表的なものは3つです。

  • the_time()
  • the_date()
  • get_the_date()

それぞれの出力パターンを比較します。

the_time()の場合

The time 5

出力できています。

the_date()の場合

The date 5

先ほどの例の通り出力できていません。同日の投稿がある場合はNGですね。

get_the_date()の場合

Get the date 5

出力できています。
注意するのはget_the_date()の場合、「get」つまり取得するのみなので、「echo」を使って出力する必要があります。

まとめ

the_date(); ではなく、the_time(); もしくは get_the_date();を使う
WordPressのマニュアルにもthe_dateは「その最初の投稿にのみ出力。」と記述があります。

参考:テンプレートタグ(日時タグ内に記述有り)

この記事を書いた人

池田祐太郎

池田祐太郎

WordPress好きの池田です。Webの仕事の前はライブハウスでブッキングや音響をしてました。PHP, JavaScriptを自由に操りたいと思いつつ、つい訪れたサイトのソースコードを見てしまいます。


CONTACTお問い合わせ / お見積もり