web-dev-qa-db-ja.com

Get_the_timeとget_the_dateの違いは何ですか?

どちらの関数も日付と時刻を返します。それらの違いは何ですか?例がありますか。ありがとう。

6
thom

それらは非常に似ていますが、いくつかのニュアンスがあります。

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);
}
  1. get_the_date()は常に現在のグローバル$postに対して動作します。get_the_time()はpostを引数として指定することを可能にします。

  2. デフォルトはそれぞれdate_formattime_formatオプションに格納されている異なるフォーマットです。

  3. それらは異なるフィルタget_the_dateget_the_timeとそれぞれ下位レベルのget_post_timeを通して出力を渡します。

10
Rarst

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_*()テンプレートタグにあります。

2
Chip Bennett