web-dev-qa-db-ja.com

なぜこのエコーは間違った順序で値をエコーするのですか?

これには簡単な理由/答えがあると思います。

echo 'Archive for '. the_time('Y');

2010Archive forをくれ?私はそれが私にArchive for 2010を与えることを期待していました

2
Amanda

the_で始まるほとんどのテンプレートタグはこれをエコーし​​て返しません(get_the_で始まるテンプレートタグは何でも構いません)。

最初にthe_time()が起動してyearをエコーし​​、次にそのリターン(null)が連結されてstringでエコーされます。

そう:

echo 'Archive for ';
the_time('Y');

または

echo 'Archive for ' . get_the_time('Y');
8
Rarst

'の代わりに'、 'を使用することもできます。エコー関数で文字列を連結するためのものです。

echo 'Archive for ' , the_time('Y');
1
Paolo