各投稿の日付を取得するにはどうすればよいですか?
2 回答
- 投票
-
- 2013-03-11
過去に変更が加えられたため、同じ問題が何度か発生しました.
while(have_posts()):the_post(); //いくつかのhtml < li class="icon-date"><?phpechoget_the_date( 'Y-m-d');?></li> < li class="icon-time"><?phpthe_time( 'H:i:s');?></li>
the_date()
の代わりに、get_the_date()
を使用します.
注意すべき唯一のことは、get_the_date()
によって返される値をエコーする必要があるということです.コーデックスページを見ると、 the_date()<に関する特記事項があります./code>.
SAME DAYで公開されたページに複数の投稿がある場合、the_date()は最初の投稿(つまり、the_date()の最初のインスタンス)の日付のみを表示します.同じ日に公開された投稿の日付を繰り返すには、テンプレートタグthe_time()またはget_the_date()(3.0以降)を日付固有の形式の文字列とともに使用する必要があります.
また、
get_the_date()
がAdminに返される形式を制御する場合は、get_option( 'date_format')
を使用できます.このように、管理者で日付形式を変更すると、これらの変更はコードでも行われます.while(have_posts()):the_post(); //いくつかのhtml &lt; li class="icon-date"&gt;&lt;?phpechoget_the_date(get_option( 'date_format'));?&gt;&lt;/li&gt; &lt; li class="icon-time"&gt;&lt;?phpthe_time( 'H:i:s');?&gt;&lt;/li&gt;
I ran into the same problem several times, following changes worked for me in the past:
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>
Instead of
the_date()
, useget_the_date()
.
The only thing to be aware of, is that values returned byget_the_date()
have to be echoed.Looking at the Codex page there is a special note about
the_date()
.When there are multiple posts on a page published under the SAME DAY, the_date() only displays the date for the first post (that is, the first instance of the_date()). To repeat the date for posts published under the same day, you should use the Template Tag the_time() or get_the_date() (since 3.0) with a date-specific format string.
Also, If you want to control the format in wich
get_the_date()
is returned in Admin, you can useget_option('date_format')
. This way if you change the date format in the Admin, these changes will me made in your code too.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>
-
- 2013-03-11
同じ日に公開されたページに複数の投稿がある場合、the_date()は最初の投稿(つまり、the_date()の最初のインスタンス)の日付のみを表示します.同じ日に公開された投稿の日付を繰り返すには、テンプレートタグthe_time()を使用する必要がありますまたは
get_the_date()(3.0以降)と日付固有のフォーマット文字列. 管理インターフェースで設定された日付を追加するために使用します. 詳細については、
このページをご覧ください. ワードプレスのコーデックスリファレンスによると、正しいコードは次のようになります:
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>
When there are multiple posts on a page published under the SAME DAY, the_date() only displays the date for the first post (that is, the first instance of the_date()). To repeat the date for posts published under the same day, you should use the Template Tag the_time() or get_the_date() (since 3.0) with a date-specific format string. Use to add the date set in the admin interface.
For more information visit this page.
So according to the wordpress codex reference the correct code will be as following :
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>
各投稿の日付を取得するために以下を使用しています:
しかし、最初の投稿の日付しか取得できません.それはなぜですか?