どちらの関数も日付と時刻を返します。それらの違いは何ですか?例がありますか。ありがとう。
それらは非常に似ていますが、いくつかのニュアンスがあります。
function get_the_date( $d = '' ) {
global $post;
$the_date = '';
if ( '' == $d )
$the_date .= mysql2date(get_option('date_format'), $post->post_date);
else
$the_date .= mysql2date($d, $post->post_date);
return apply_filters('get_the_date', $the_date, $d);
}
function get_the_time( $d = '', $post = null ) {
$post = get_post($post);
if ( '' == $d )
$the_time = get_post_time(get_option('time_format'), false, $post, true);
else
$the_time = get_post_time($d, false, $post, true);
return apply_filters('get_the_time', $the_time, $d, $post);
}
get_the_date()
は常に現在のグローバル$post
に対して動作します。get_the_time()
はpostを引数として指定することを可能にします。
デフォルトはそれぞれdate_format
とtime_format
オプションに格納されている異なるフォーマットです。
それらは異なるフィルタget_the_date
とget_the_time
とそれぞれ下位レベルのget_post_time
を通して出力を渡します。
the_date()
テンプレートタグは、1回の出現につき1回だけ投稿日を出力します。したがって、2つ以上の投稿が同じ投稿日を持つ場合、その日付はループ内での最初の出現時にのみ出力されます。 the_time()
templateタグは、通常どおり投稿時刻を出力します(有効な日付/時刻文字列を使用)。
ただし、get_the_date()
とget_the_time()
テンプレートタグは基本的に同じです。これらはthe_date()
とthe_time()
のそれぞれの値を返すために使われます。 コーデックスに従って :
the_date()
とは異なり、このタグは 常に 日付を返します。 'get_the_date'フィルタで出力を修正してください。
そのため、違いはget_the_*()
テンプレートタグ自体ではなく、それらを使用するthe_*()
テンプレートタグにあります。