我想想Timber的支持非常薄,但也许我的问题可能更多与树枝相关,甚至只是最好的PHP实践?
我正在使用ACF在页面上列出一组帖子。除了通常的细节(标题,内容等......),我想显示分配给帖子的类别。
TIMBER CONTROLLER(jobs.php)
$context = Timber::get_context();
$post = new TimberPost();
$context['post'] = $post;
$context['categories'] = Timber::get_terms('category', array('parent' => 0));
$args = array(
'numberposts' => -1,
'post_type' => 'jobs'
);
$context['job'] = Timber::get_posts($args);
Timber::render( 'page-templates/job.twig', $context );
TWIG FILE
<section id="job-feed">
<h3> term.name }}</h3>
{% for post in job %}
<div class="job mix">
<h2>{{ post.title }}</h2>
<p>{{ post.content }}</p>
<p>{{ function('the_category', '') }}
</div>
{% endfor %}
</section>
您会看到我尝试恢复使用WP功能,因为我无法在Timber或其他任何方式找到这样做。
答案 0 :(得分:4)
我假设你想要分配给特定工作的类别?在那种情况下......
<section id="job-feed">
{% for post in job %}
<div class="job mix">
<h2>{{ post.title }}</h2>
<p>{{ post.content }}</p>
<p>{{ post.terms('category') | join(', ') }}
</div>
{% endfor %}
</section>
使用{{ post.terms('category') }}
,您将获得类别分类(附在帖子中)的所有条款作为数组返回给您。然后是Twig的join
过滤器:
http://twig.sensiolabs.org/doc/filters/join.html
...会将这些转换为带逗号的字符串。结果应该是:
<p>Technical, On-Site, Design, Leadership</p>