軽い備忘録です。
WordPressで同じ日に複数の投稿をした時、2つ目の投稿以降の日付が表示されない時の対処法です。
functions.phpにちょろっとコードを追加するだけで改善できます。
ついでに日付の表示方法もメモしておきます。
WordPressで日付が表示されない時の対処法
とりあえず、functions.phpに以下のコードをコピペでオッケーです。
// 同じ日付でも日付を表示
function my_the_post() {
global $previousday;
$previousday = '';
}
add_action( 'the_post', 'my_the_post' );
WordPressはthe_dateタグでは、「一つ前に表示した日付」と「今表示しようとしている日付」が同じだったら、2つ目以降は表示しないという仕様になっています。
なので、the_timeタグで表示するようにしているか方も多いかと思います。
しかし、the_timeの場合はWordPressの管理画面で設定した日付が反映されません。
でもこれで、the_dateタグを使ってfunctions.phpに上のコードを追加して表示させることもでき、管理画面で設定した日付で同じ日付でも表示されるようになります。
日頃、管理画面から日付フォーマットを設定しない人はthe_timeタグを使えばオッケーです。
the_date / the_time タグの使い方
ここで、それぞれのタグの基本の使い方をメモしていきます。
the_dateタグの使い方
例
<?php the_date("Y年n月j日 l"); ?>
これで、20XX年X月X日と表示されます。
- l(小文字のL):曜日
- n:月
- j:日にち
- S:英語での日にちにつける1st, 2nd, 3rd, 4thなどのst, nd, rd, th
- Y:4桁の年
- y:2桁の年
他にも、dで日にちに0をつけたり
aで午前か午後(amかpm)
Aで大文字のAMかPM
などが表示できます。
the_timeタグの使い方
例
<?php the_time('g:i a'); ?>
これで、例:「11 : 20 am」と表示されます。
24時間表記の場合は
<?php the_time('G:i'); ?>
これで、例:「23 : 20」と表示されます。
以下の記述で日付も表示できます。
<?php the_time('Y年n月j日'); ?>
もっと詳しいことはWordPressの公式ページにて