如何编写wordpress函数" is_front_page()"在树枝木材代码?

时间:2015-08-02 01:13:10

标签: php wordpress twig

我的目标是只使用Twig代码在wordpress的索引页面上输出内容。我已经设置了一个名为Home的静态页面。

我在我的base.twig中试过这个:

{% if is_front_page %}
 Homepage content
{% endif %}

但这并没有做任何事情,我发现由于某种原因我很难找到它。

任何帮助表示赞赏!提前致谢

3 个答案:

答案 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;
}