私は各投稿の日付を取得するために以下を使用しています:
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>
しかし、私は最初の投稿の日付のみを取得していますが、それはなぜですか?
私は各投稿の日付を取得するために以下を使用しています:
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>
しかし、私は最初の投稿の日付のみを取得していますが、それはなぜですか?
回答:
私は同じ問題に何度か遭遇しました、以下の変更は過去に私のために働きました:
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>
同じ日に公開されたページに複数の投稿がある場合、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>