查看 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 );
在使用 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 );