我将Timber用作Wordpress主题,一段时间以来,我注意到Timber不会显示所创建的新页面的内容。
以下是我的结构示例:
我有一个 work.php 页面,其中包含以下上下文:
$context = Timber::get_context();
$args = array(
// Get post type project
'post_type' => 'project',
// Get all posts
'posts_per_page' => -1,
// Order by post date
'orderby' => array(
'date' => 'DESC'
)
);
$context['post'] = new TimberPost();
$context['works'] = Timber::get_posts( $args );
Timber::render( 'page-work.twig', $context );
然后我有一个“ page-work.twig ”页面,检索包含“ inc-work.twig”的页面
{% extends "base.twig" %}
{% block content %}
{% include 'inc-work.twig' %}
{% endblock %}
这是inc-work.twig include
<section class="l-homegrid lazy-scroll">
{% for post in works %}
{% if post.thumbnail %}
<a href="{{post.link}}" class="l-basicgrid-work work">
<article>
<figure>
<img data-src="{{post.get_thumbnail.src('full')|resize(800, 533)}}" alt="project {{post.title}}" class="lazy">
</figure>
<figcaption>
<h2>{{ post.title }}</h2>
</figcaption>
</article>
</a>
{% endif %}
{% endfor %}
</section>
我认为我的代码是正确的。但是,不显示自定义内容类型“项目”。 奇怪,因为我在同一个网站的其他页面上使用该结构没有任何问题...
有什么想法吗?
谢谢!
答案 0 :(得分:0)
问题不是您要通过$context['post']?
您是否尝试过仅将代码更改为
{% for work in works %}
...
{% endfor %}
只是要确保上下文中没有冲突的变量?