查看 WordPress 的 Timber 模板库的 composers 或类似工具?

View composers or similar for Wordpress's Timber template library?

在使用 Timber 库时,是否有向所有实例或渲染页面提供数据的选项或方法?

我想在核心 functions.php 文件中设置一些站点范围的数据,并使其可用于所有模板,而无需在每个 Timber::render()

之前手动添加它

我会使用 timber_context 过滤器(或 timber\context)在您使用 get_context 时添加您自己的数据。

下面是如何添加 menu/navigation(来自 Wiki page on TimberMenu)的示例:

add_filter( 'timber_context', function( $context ) {
    /* So here you are adding data to Timber's context object, i.e... */
    $context['foo'] = 'I am some other typical value set in your functions.php file, unrelated to the menu';

    /* Now, in similar fashion, you add a Timber menu and send it along to the context. */
    $context['menu'] = new Timber\Menu(); // This is where you can also send a WordPress menu slug or ID

    return $context;
} );

将数据导入模板所需要做的最少工作是:

$context = Timber::get_context();

Timber::render( 'template.twig', $context );