我是PHP,Wordpress和Timber的新手。我有一个名为项目的自定义帖子类型,它使用了帖子归档模板,我很疯狂地创建了一个特定的项目归档模板,所以我可以为它设置不同的布局
这就是我的index.twig看起来像
{% extends "layouts/base.twig" %}
{% block content %}
<div class="uk-child-width-1-3@m" uk-grid uk-scrollspy="cls: uk-animation-fade; target: > div > .uk-card; delay: 500; repeat: false">
{% for post in posts %}
{% include "tease-post.twig" %}
{% endfor %}
</div>
{% endblock %}
这是tease-post.twig
{% block content %}
<div>
<div class="uk-card uk-card-default">
<div class="uk-card-media-top">
<a href="{{post.link}}"><img src="{{post.thumbnail.src('full')}}" alt=""></a>
</div>
<div class="uk-card-body">
<h3 class="uk-card-title"><a href="{{post.link}}" class="uk-button uk-button-text">{{post.title}}</a></h3>
<p>{{post.get_preview(25,false,false,true)}}</p>
</div>
<div class="uk-card-footer">
<a href="{{post.link}}" class="uk-button uk-button-text">Read more</a>
</div>
</div>
</div>
{% endblock %}
知道它是如何工作的吗?无法找到任何相关文档..
答案 0 :(得分:1)
根据您希望实现的目标,有一些不同的方法。这似乎是最简单的......
{% extends "layouts/base.twig" %}
{% block content %}
<div class="uk-child-width-1-3@m" uk-grid uk-scrollspy="cls: uk-animation-fade; target: > div > .uk-card; delay: 500; repeat: false">
{% for post in posts %}
{% include "tease-'~ post.type ~'.twig" %}
{% endfor %}
</div>
{% endblock %}
然后,您可以创建一个名为tease-project.twig
的文件(假设`项目是您的自定义帖子类型的名称),它可能看起来像这样......
{# tease-project.twig #}
<h2>My cool project is... {{ post.title }}</h2>
检查您的archive.php
文件,如果您正在使用starter theme,则应加载名为archive-projects.twig
的文件(假设projects
是自定义的名称发布类型)。
逻辑是完全可自定义的,因此您可以根据具体情况加载所需的任何.twig
个文件