各投稿の日付を取得するにはどうすればよいですか?


10

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

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>

しかし、私は最初の投稿の日付のみを取得していますが、それはなぜですか?

回答:


21

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

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()エコーする必要があるということです。

見るとコーデックスのページがあり、特別な注意事項についてはthe_date()

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

また、get_the_date()Adminで返される形式を制御したい場合は、を使用できますget_option('date_format')。この方法で、Adminで日付形式を変更すると、これらの変更もコードで行われます。

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>

0

同じ日に公開されたページに複数の投稿がある場合、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>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.