こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

phpの記述に関して教えてください

php初心者です。
とあるワードプレスのテキストに、下記のように記述する旨の指示がありました。

<span class="sep">投稿日:<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<time class="entry-date" datetime="<?php the_time( 'Y-m-d' ); ?>" pubdate="<?php the_time( 'Y-m-d' ); ?>">
<?php the_time( get_option( 'date_format' ) ); ?>
</time>

Netbeansで上記の記述を行ったところ、

Bad value " " for attribute "href" on element "a": DOUBLE_WHITESPACE in PATH.
Syntax of IRI reference:
Any URL. For example: '/hello', '#canvas', or 'http://example.org/'. Characters should be represented in NFC and spaces should be escaped as '%20'.

Bad value " " for attribute "datetime" on element "time": The literal did not satisfy the date format.
Syntax of date or time:
(This format deviates from the spec draft.) An ISO 8601 date (i.e. 'YYYY-MM-DD'.), time (i.e. 'hh:mm' optionally followed by ':ss' optionally followed by '.' and digits) optionally with a time zone designator (i.e. either 'Z', '+hh:mm' or '-hh:mm') or both date and time separated by 'T'. Examples: '1996-01-01T12:05:25', '1996-01-01', '12:05:25', '1996-01-01T12:05:25.6-02:00'

等のメッセージが出現します。phpの記述として、テキストの指示は適切なものなのでしょうか?
改めるならば、どのようにすべきでしょうか?

投稿日時 - 2012-07-02 15:56:39

QNo.7567788

困ってます

質問者が選んだベストアンサー

http://wpdocs.sourceforge.jp/テンプレートタグ/the_time
http://jp2.php.net/manual/ja/function.date.php
the_time()の引数にはどういうフォーマットが望ましいかっていうのは
公式ドキュメントなり見てもらった方が確実だと思います

Excelなんかだったらyyの場合は二桁表記だとか
なんか連続してる数で変わったりしてたような気がしますが
PHPでは多分それはないです
yが二桁、Yが四桁ってカンジなんで

the_time()の引数をYYYY-MM-DDとしても
ちゃんと動いてるんなら別にいいんですが
マニュアルではそうはなってないので
どっちかって言うとテキスト通り
Y-m-dのほうがいいんじゃなかな?って思います

timeタグについては調べてみた方がいいと思います

投稿日時 - 2012-07-03 03:21:07

お礼

ご回答感謝いたします。

つたない読解力で警告文を読む限り、古い表記法のように読み取れたものでして。

大文字で4文字、小文字で2文字という書きかたは、普通に使われるものなのですね。

ありがとうございました。

投稿日時 - 2012-07-03 03:49:21

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

WordPressはWordPress

とくにWP_queryクラスがある前提で
動く関数ばっかりなんで
ふつうにPHPのチェッカーにかけても不正だらけです

見たカンジ、the_timeがWPの関数である為に
『the_time()なんて関数ないよ
だから戻り値も何にもないものだってしとくよ
だからtimeのdate timeの値としては不正だよ』
って言われてるカンジですよね

投稿日時 - 2012-07-02 17:13:45

補足

追加質問になって申し訳ありません。

日付に関しては、
'YYYY-MM-DD'
と記述したほうが好ましいのでしょうか? 
そう記述しても、WPの動作には影響しないようなのですが。

投稿日時 - 2012-07-03 00:23:19

お礼

早速の回答ありがとうございます。

指示通りに記述してWPは問題なく動作していたのですが、記述法として正しいのかどうかが気になっていました。せっかくならば、より正確な記述で覚えようかと思い質問しました。

問題ないようなので安心しました。

投稿日時 - 2012-07-03 00:23:23