使用Timber库时是否有选项或方法为所有实例或渲染页面提供数据?
我想在核心functions.php
文件中设置一些网站范围的数据,并让所有模板都可以使用它,而无需在每个Timber::render()
答案 0 :(得分:1)
当您使用timber_context
时,我会使用timber\context
过滤器(或get_context
)添加您自己的数据。
以下是如何添加菜单/导航的示例(来自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 );