web-dev-qa-db-ja.com

各投稿の日付を取得する方法

私は各投稿の日付を取得するために以下を使っています:

while (have_posts()) : the_post();
//some html
<li class="icon-date"><?php the_date('Y-m-d');?></li>
<li class="icon-time"><?php the_date('H:i:s');?></li>

しかし、私は最初の投稿の日付を取得しているだけなのはなぜですか?

10
user1692333

私は同じ問題に何度か遭遇しました、過去に以下の変更は私のために働きました:

while (have_posts()) : the_post();
//some html
<li class="icon-date"><?php echo get_the_date( 'Y-m-d' ); ?></li>
<li class="icon-time"><?php the_time( 'H:i:s' ); ?></li>

the_date()の代わりにget_the_date()を使用してください。
知っておくべき唯一のことは、get_the_date()によって返された値がエコーされなければならないということです。

Codexページを見てくださいthe_date()については 特別な注意事項 があります。

同じ日に公開されたページに複数の投稿がある場合、the_date()は最初の投稿の日付(つまりthe_date()の最初のインスタンス)のみを表示します。同じ日に公開された投稿の日付を繰り返すには、テンプレートタグthe_time()またはget_the_date()(3.0以降)を日付固有のフォーマット文字列と共に使用する必要があります。

また、get_the_date()がAdminに返される形式を制御したい場合は、get_option('date_format')を使用できます。この方法であなたが管理者で日付フォーマットを変更するならば、これらの変更は私もあなたのコードでなされるでしょう。

while (have_posts()) : the_post();
//some html
<li class="icon-date"><?php echo get_the_date( get_option('date_format') ); ?></li>
<li class="icon-time"><?php the_time( 'H:i:s' ); ?></li>
20
Mike Madern

同じ日に公開された に複数の投稿がある場合、the_date()は最初の投稿の日付(つまり、the_date()の最初のインスタンス) のみを表示します。同じ日に公開された投稿の日付を繰り返すには、テンプレートタグ the_time() または get_the_date() (3.0以降)を 日付固有のフォーマット文字列 を使用してください。管理インターフェイスに設定された日付を追加するために使用します。

詳しくは このページ をご覧ください。

したがって、wordpress codexの参照によれば、正しいコードは次のようになります。

while (have_posts()) : the_post();
//some html
<li class="icon-date"><?php echo get_the_date('Y-m-d');?></li>
<li class="icon-time"><?php the_time('H:i:s');?></li>
0
Vinod Dalvi