TopWordPress > カスタマイズ > その他 > WordPress における日付/時間の表示とフォーマット変更方法
News
各種ブログテンプレート
2007年3月13日

エントリー本文

WordPress における日付/時間の表示とフォーマット変更方法

Posted at March 13,2007 2:10 AM
Category:[その他]
Tag:[, , , ]

WordPress への記事投稿日の日付および時間の表示方法と、日付/時刻フォーマットを変更するカスタマイズをご紹介します。

このエントリーのきっかけは、当サイトで配布しているテーマに表示される記事投稿時間を24時間表記に変更する方法についてのご質問だったのですが、それだけでは何なので一通り調べてみました。

1.概要

テンプレートの記事投稿時間を表示したい位置に

<p><?php the_time() ?></p>

を設定すると、下のように時刻情報に変換されてページに表示されます。

<p>21:07:51<p>

2.テンプレートタグ

日付表示用テンプレートタグには次の2つがあります。

2.1 the_time

記事の投稿時間を表示します。書式は次の通りです。

<?php the_time('format') ?>

format には2項以降に示す「表示フォーマット」を設定します。

カッコ内を省略すると、4項の管理画面に設定した表示フォーマットが適用されます。

2.2 the_date

記事の投稿時間を表示します。書式は次の通りです。

<?php the_date('format', 'before', 'after', echo) ?>

the_time との違いは、

  • 同一日に複数記事がある場合は最初の記事にだけ表示
  • 日付/時間の前後に表示するテキストの指定が可能
  • PHPの変数として取得可能(その場合、表示されません)

が挙げられます。特に一つ目の振る舞いが大きな違いですので、使用する場所に応じて使い分けると良いでしょう。

format は3項以降に示す「表示フォーマット」を設定します。before は日付/時間の前に表示するテキスト、after は日付/時間の後に表示するテキスト、echo は、日付/時間を表示する場合は true、変数として取得する場合は false を設定します。

変数として取得する場合のサンプルを以下に示します。

<?php $my_date = the_date('', '', '', false); ?>

カッコ内を全て省略すると、4項の管理画面に設定した表示フォーマットが適用されます。
管理画面に設定した表示フォーマットを適用し、なおかつ日付/時間の前後にテキスト(ここでは p 要素をサンプルとして設定)を表示したい場合は、次のようにします。

<?php the_date('', '<p>', '</p>') ?>

このタグのパラメータに前後のテキストが設定できる理由は、仮にタグの外側に HTML タグを設定した場合、(同一日付のエントリーが複数あると)このタグが表示されないことがあり、外側に設定した HTML タグが残ってしまいます。これを避けるためにパラメータとしてタグを設定できるようにしています。

3.表示フォーマット

表示フォーマットは、時間を表示するフォーマット文字(後述)と、任意の文字列で構成されます。
1項のように the_time を利用して

<p>21:07:51</p>

という表示にしたい場合は、時分秒のフォーマット文字「h」「i」「s」と、それぞれを区切る文字「:」で、

<p><?php the_time('h:i:s') ?></p>

というフォーマットをパラメータに設定します。

4.フォーマット設定方法

フォーマットは次のいずれかの方法で設定することができます。

  • 管理画面の [オプション] - [一般設定] - [日付のフォーマット/時間のフォーマット]
  • テンプレートタグに直接記述

「テンプレートタグに直接記述」というのは、2.1項の例では

<?php the_time('h:i:s') ?>

という風に、カッコ内にパラメータとして表示フォーマットを設定することを指します。

管理画面での設定箇所は下のスクリーンショットの通りです。「日付のフォーマット:」フィールドの内容が the_date、「時刻のフォーマット:」フィールドの内容が the_time に対応しています。

日付/時刻のフォーマット設定

フィールドに設定されたフォーマットを利用するには、2項に記した通り、テンプレートタグの the_datethe_time のパラメータが空きであることが条件となります。

当サイトで配布しているテーマでは日付フォーマットを直接テンプレートに埋め込んでますので、管理画面から設定できるようにするには、テンプレートの下記の部分をそれぞれ変更してください。

日付表示(変更前) *1

<?php the_date('Y.m.d', '<p class="date">', '</p>') ?>

日付表示(変更後)

<?php the_date('', '<p class="date">', '</p>') ?>

時間表示(変更前)

Posted at <?php the_time('h:i') ?>

時間表示(変更後)

Posted at <?php the_time() ?>

5.フォーマット文字一覧

PHPdate より、よく使われそうなフォーマット文字を抜粋し、下記にまとめてみました。

なお、日本語版 WordPress の場合、表中の月表示および曜日表示は日本語になります(英語表記にする場合の変更方法は「WordPress の月・曜日を英語表記にする」を参照)。

出力される日付文字列の書式
単位フォーマット文字意味表示例
Y4桁の数字1999, 2003
y2桁の数字99, 03
m2桁の数字01 - 12
n1桁または2桁の数字1 - 12
FフルスペルJanuary - December
M3文字の省略形式Jan - Dec
d2桁の数字01 - 31
j1桁または2桁の数字1 - 31
曜日 D3文字の省略形式Mon - Sun
lフルスペルSunday - Saturday
午前/午後 a小文字am / pm
A大文字AM / PM
h2桁の数字・12時間表示01 - 12
g1桁または2桁の数字
12時間表示
1 - 12
H2桁の数字・24時間表示00 - 23
G1桁または2桁の数字
24時間表示
0 - 23
i先頭にゼロをつける00 - 59
s先頭にゼロをつける00 - 59

以下は年月日・時分秒の設定早見表です。

年月日の設定早見表
設定例表示
4桁Y2桁m2桁dY/m/d2007/01/01
0なしjY/m/j2007/01/1
0なしn2桁dY/n/d2007/1/01
0なしjY/n/j2007/1/1
2桁y2桁m2桁dy/m/d07/01/01
0なしjy/m/j07/01/1
0なしn2桁dy/n/d07/1/01
0なしjy/n/j07/1/1
時分秒の設定早見表
設定例表示
12時間表記・2桁h2桁i2桁sh:i:s01:02:03
12時間表記・0なしgg:i:s1:02:03
24時間表記・2桁HH:i:s13:02:03(01:02:03)
24時間表記・0なしGG:i:s13:02:03(1:02:03)

6.参考・関連リンク

2007.03.13 追記
テンプレート改修に伴い、4項の記述を修正しました。


*1:2007.03.13 以前にテンプレートをダウンロードされた場合、メインページ/アーカイブページについては下記の変更を行ってください。

日付表示(変更前)

<p class="date"><?php the_time('Y.m.d') ?></p>

日付表示(変更後)

<p class="date"><?php the_date() ?></p>
Posted by yujiro ReTweet This!
関連記事
この記事を読んだ人はこんな記事も読んでいます
人気エントリー
Hatena Hot Entries
Hatena Entries
トラックバックURL


トラックバック

テーマ変更してみました from oshiire*BLOG
いつもどおりの現実逃避です。気持ちいいです。 ところが、どうしても納得のいかない部分があるのです。これだけに限らず、WordPress のテーマでは、日付... [続きを読む]

Tracked on October 13, 2008 4:09 PM

続・vectorizeの修正 from Idle Away
既に昨日のうちに修正済みでしたが、備忘録的に書いておこうと思います。 ■「Recent Posts」の日付フォーマット もともとのフォーマットが、2... [続きを読む]

Tracked on February 18, 2009 11:57 PM

WordPressに投稿の日付だけじゃなく時間も表示したい! from 「ふぉしむ」のブログ
「mg12」さんの作ったテーマ、はじめから日本語対応してくれてるのはうれしいんだけど、 やっぱり投稿時間は表示されないですね。 年月日だけ。。 外国の人は... [続きを読む]

Tracked on February 27, 2010 10:15 PM
コメントする
greeting

*必須



ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字 イタリック アンダーライン ハイパーリンク 引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)

Now loading...
Introduction
Entry Trackbacks
テーマ変更してみました
 [oshiire*BLOG] 10/13 16:09
続・vectorizeの修正
 [Idle Away] 02/18 23:57
WordPressに投稿の日付だけじゃなく時間も表示したい!
 [「ふぉしむ」のブログ] 02/27 22:15
Entries of this Category
Recent Entries
Recent Comments
Recent Trackbacks
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

loading ...
Categories
Monthly Archives
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 5.02