我的目标是只使用Twig代码在wordpress的索引页面上输出内容。我已经设置了一个名为Home的静态页面。
我在我的base.twig中试过这个:
{% if is_front_page %}
Homepage content
{% endif %}
但这并没有做任何事情,我发现由于某种原因我很难找到它。
任何帮助表示赞赏!提前致谢
答案 0 :(得分:11)
我喜欢在我的树枝模板之外保留特殊功能。在Timber中,您可以定义自己的上下文,您可以在其中设置自己的变量。
创建一个名为front-page.php
的文件并添加:
<?php
$context = Timber::get_context();
// Set a home page variable
$context['is_front_page'] = 'true';
Timber::render(array('home.twig'), $context);
然后您可以使用is_front_page
作为变量,就像您想要的那样:
{% if is_front_page %}
Homepage content
{% endif %}
答案 1 :(得分:9)
Timber comes with the fn
(也有别名function
),让您执行外部PHP函数。所以这样的事情会起作用:
{% if fn('is_front_page') %}
Homepage content
{% endif %}
答案 2 :(得分:0)
您可以通过扩展timber_context fitler来创建全局内容。
将以下内容添加到您的functions.php文件中,它将通过调用Timber :: get_context();添加到所有模板中。
add_filter('timber_context', 'add_to_context');
function add_to_context($context){
/* Add to Timber's global context */
$context['is_front_page'] = is_front_page();
return $context;
}