php 如何将get_comment_date()转换为返回波斯日期

fcg9iug3  于 2023-04-28  发布在  PHP
关注(0)|答案(1)|浏览(186)

在wordpress中,我使用下面的代码来获取今天波斯人的日期。

function getDateIntl(?\DateTime $date = null, ?string $locale = null, ?DateTimeZone $timezone = null, $dateFormat)
{
    $date = $date ?? new \DateTime();
    $locale = $locale ?? \Locale::getDefault();
    $formatter = new \IntlDateFormatter(
        $locale,
        IntlDateFormatter::FULL,
        IntlDateFormatter::FULL,
        $timezone,
        IntlDateFormatter::TRADITIONAL,
        $dateFormat
    );
    return $formatter->format($date);
}
echo getDateIntl(new DateTime(), "fa@calendar=persian", new \DateTimeZone('Asia/Tehran'), 'eeee، dd MMMM');

现在我在单博客文章,并希望使用此函数将评论日期转换为perisan defualt函数的评论日期是:get_comment_date()
wordpress的defualt函数返回字符串,我不能用“new DateTime()”替换它

ecfsfe2w

ecfsfe2w1#

Wordpress有一个特殊的hook,当函数get_comment_date()被使用时,你可以对日期进行任何操作:

add_filter( 'get_comment_date', 'my_get_comment_date_filter', 10, 3 );

/**
 * Function for `get_comment_date` filter-hook.
 * 
 * @param string|int $date    Formatted date string or Unix timestamp.
 * @param string     $format  PHP date format.
 * @param WP_Comment $comment The comment object.
 *
 * @return string|int
 */
function my_get_comment_date_filter( $date, $format, $comment ){

    // filter...
    return $date;
}

相关问题