所以,我已经为此绞尽脑汁两天了。如何使用 Timber 和 Twig 在页脚中显示 3 个最近的帖子?我正在使用 Timber 的入门主题。我在 footer.php 文件中做了什么:$timberContext = $GLOBALS['timberContext'];if ( ! isset( $timberContext ) ) {throw new \Exception( 'Timber context not set in footer.' );}$args = array('posts_per_page' => 3,);$timberContext['featured'] = new Timber\PostQuery($args);$templates = array( 'page-plugin.twig');$timberContext['content'] = ob_get_contents();ob_end_clean();Timber::render( $templates, $timberContext );在我的 footer.twig 中我尝试显示它们:<ul class = "featured-posts-list"> {% for post in featured %} <li><a href="{{ post.link }}">{{ post.title }}</a></li> {% endfor %}</ul>现在的问题是它什么也没显示。如果我用 footer.twig 中的帖子替换featured,它会显示当前页面上的所有帖子。在我看来,Timber 不处理我的帖子查询,我不知道为什么会这样。我一直在寻找答案,但没有找到。另外,这是我在这里发表的第一篇文章,所以如果令人困惑,我提前表示歉意。
1 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
所以,我刚刚找到了我自己问题的答案:)如果有人遇到类似的问题,我通过将变量添加到functions.php中的上下文来解决它:
public function add_to_context( $context ) {
//...previous variables...
//the one I have added
$context['featured'] = new Timber\PostQuery(array(
'post_type' => 'post',
'posts_per_page' => 3,
));
return $context;
}
然后在我的 footer.twig 中我这样使用它:
<ul class = "featured-posts-list">
{% for post in featured %}
<li><a href="{{ post.link }}">{{ post.title }}</a></li>
{% endfor %}
</ul>
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报
0/150
提交
取消