WordPressをCMSとした企業サイトやポータルサイト、Webサービス開発方法やTipsなど。 ファーストエレメントが運営する、WordPressに特化した技術系ブログ。
1.25
2008
■目的:
記事の投稿日ではなく、最終更新日時を表示する。
■現状:
通常の記事のループで使われる投稿日時のタグは、the_date() またはthe_time()。the_dateは、同じ日付の記事が複数ある場合は、最初の記事にしか日付が表示されない。その変わりに the_time(‘Y/m/d’)とすれば各記事ごとに日時を表示できる。
では投稿日時ではなく、最終更新日時を表示したい時は?
■方法:
とすると
このままでも悪くないけど長いので、これを加工して
とするには、
■解説:
PHPの「substr」関数で日付部分…先頭から10文字分を抜き出す。
1つ目の引数が対象となるデータ
2つ目の引数が開始位置(1文字目は 0)
3つ目の引数が抜き出す文字数
↓
結果)2007-01-28
PHPの「str_replace」関数で年月日の区切りを「-」から「/」に文字変換する。
1つ目の引数が変換前の文字列
2つ目の引数が変換後の文字列
3つ目の引数が対象となるデータ
↓
結果)2007/01/28
以上
【追記】
ver2.1以降では「the_modified_date」「the_modified_time」というテンプレートタグが使えるようですね。知りませんでした(^^;;
上記内容はver2.0.x用ということで。。
【追記2】
ループ外に、サイトの最終更新日時を表示。
すべての記事の中で更新日時(post->post_modified_gmt)が最新の値を返してくれます。必要に応じて前出の加工を。ちなみにget_lastpostdate()もあります。
※ME2.0.9で確認
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| « 12月 | ||||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | |||
コメント/質問お待ちしています