Timber库中树枝中的默认时区

时间:2019-10-24 22:52:25

标签: wordpress twig timber

当我在Twig模板中使用date()函数时,它返回通用时间,而不是日期 filter ,日期返回使用正确时区的正确时间。

我正在使用

date_default_timezone_set('America/Los_Angeles');
我主题的functions.php文件中的

具有其他一些不相关的功能,它似乎确实与这些日期直接相关(当删除代码行时,日期似乎可以正确呈现)。我可以使用date_modify过滤器,但是我正在处理从现在到夏时制切换之间的日期,因此它不必要地影响了我在这里想要完成的工作。

阅读the Twig docs on the date() function后,我认为functions.php文件中的以下内容可以使用,但似乎没有任何影响:

function add_to_twig( $twig ) {
    $twig->getExtension(\Twig\Extension\CoreExtension::class)->setTimezone('America/Los_Angeles');
    return $twig;
}

那么告诉Timber / Twig使用时区的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

首先需要添加扩展:

$twig->addExtension(new Twig\Extension\CoreExtension );

之后,您可以自由使用您尝试过的相同代码,可在 twig 文档中找到。

因此,最好的选择肯定是使用 WordPress 中配置的时区。

完整代码为:

public function add_to_twig($twig)
{
    /*HERE YOUR OTHER STUFF*/

    //Add the CoreExtension
    $twig->addExtension(new Twig\Extension\CoreExtension );

    //Get the timezone from Wordpress and use the extension to set the timezone
    $timezone = get_option('timezone_string');
    $twig->getExtension(\Twig\Extension\CoreExtension::class)->setTimezone($timezone);

    return $twig;
}