Twig(Timber)+ Wordpress - 显示帖子的类别

时间:2016-01-20 15:58:24

标签: wordpress twig

我想想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或其他任何方式找到这样做。

1 个答案:

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