根据设置格式化日期的正确过滤器

时间:2017-09-30 10:21:28

标签: wordpress

我通过 get_comments(...)函数查询注释,该函数返回 WP_Comment 对象的数组。现在我想根据设置基本格式打印提交日期。

哪种过滤器适合这样做?

foreach( $comments as $comment )
{
    // Print 23-09-2017 11:05:23,  I want: 23 september 2017
    printf('Date: %s', apply_filters('get_comment_time', $comment->comment_date));
}

配置中的格式设置很好,因为当我在循环(代码中完全不同的地方)时,我得到了正确的格式:

// get 23 september 2017
printf('<header><time>%s</time></header>', get_comment_date());

1 个答案:

答案 0 :(得分:0)

结果我需要 mysql2date get_option

foreach( $comments as $comment )
{
    printf('Date: %s',  mysql2date(get_option('date_format'), $comment->comment_date));
}

我在WordPress的源代码中找到了答案:

https://github.com/WordPress/WordPress/blob/0eecbf8bafbffb720ff365d03490a2de2aada8e8/wp-includes/comment-template.php#L539

function get_comment_date( $d = '', $comment_ID = 0 ) {
    $comment = get_comment( $comment_ID );
    if ( '' == $d )
        $date = mysql2date(get_option('date_format'), $comment->comment_date);
    else
        $date = mysql2date($d, $comment->comment_date);

    return apply_filters( 'get_comment_date', $date, $d, $comment );
}