自定义字段不Displaing的类别或存档页

问题描述:

我已经建立了一个先进的自定义字段项目在每个类别&存档自定义职位类型的顶部显示特色图片,描述等。 Image Attached自定义字段不Displaing的类别或存档页

自定义柱式&分类是

$event_args = array(
    'has_archive'   => 'news-events', 
    'exclude_from_search' => false, 
    'publicly_queryable' => true, 
    'rewrite'    => $event_rewrite, 
    'capability_type'  => 'post', 
); 
register_post_type('events', $event_args); 
register_taxonomy('event_category', array('events'), $events_args); 

在归档events.php我

$context['pagination'] = Timber::get_pagination(); 
$context['title'] = 'Archive Tours'; 
$context['posts'] = Timber::get_posts(); 
$content['events'] = Timber::get_terms('event_category'); 
Timber::render($templates, $context); 

在枝条文件

<div class="col-sm-12 col-md-12"> 
    <article class="post post-container"> 
    <div class="entry-header"> 
     <div class="post-thumb thumb"> 
     {% if events.featured_event_image %} 
      <img src="{{TimberImage(events.featured_event_image).src}}" alt="{{ events.featured_event_title }}" 
       class="img-responsive" /> 
     {% else %} 
      {# TODO: replace this with something we serve. #} 
      <img src="http://placehold.it/500x340" alt="Default Thumbnail" class="img-responsive"> 
     {% endif %} 
     </div> 
    </div> 
    <div class="sa_blog_content"> 
     <div class="sa_blog_center"> 
     <h4 class="sa_blog_title"><a target="_self" title="{{ events.featured_event_title }}" href="#">{{ 
      events.featured_event_title }}</a></h4> 
     <div class="meta"> 
      <span><time datetime="{{post.post_date|date('F j, Y')}}">{{post.post_date|date('F j, Y')}}</time></span> 
      <span>359 Views</span> 
     </div> 
     </div> 
     {{ events.featured_event_summary }} 
     <div class="tagcloud"> 
     {% for term in post.terms('featured_event_tags') %} 
      <span><a href="{{post.term.link}}" title="{{post.term.name}}">{{post.term.name}}</a></span> 
     {% endfor %} 
     </div> 
    </div> 
    </article> 
</div> 

但是没有我的Custome的字段在档案或分类页面中可用。任何人都可以提出解决这个问题的方法。在此先感谢...

当您使用Timber::get_terms(),你会得到回报的数组。

不是检查与{% if events.featured_event_image %}自定义字段的存在,你可能要遍历所有的元素events

{% for event in events %} 
    {% if event.featured_event_image %} 
     {# your code #} 
    {% endif %} 
{% endfor %} 

或者你也可以直接与

{% if event[0].featured_event_image %} 
访问数组的第一个元素

以同样的方式,{{ events.featured_event_summary }}不会显示出来,因为该领域featured_event_summary不能在阵列上找到,但可能在每个数组元素的存在。


当您使用{% for term in post.terms('featured_event_tags') %},然后你问获得分配给该职位的featured_event_tags分类中的所有条款。从你的代码摘录我可以看到,你只登记event_category作为一个分类。在你我的截图可以看到,featured_event_tags是在分类event_category设置自定义字段的名称。

要获得一个职位的条款,你则应该做的:

{% for term in post.terms('event_category') %} 

这里面for循环,你似乎试图获得该术语的链接和名字,但你从后与访问{{ post.term.link }}。也许,它应该是

{% for term in post.terms('event_category') %} 
    {{ term.link }} 

{{ post.term }}将无法​​正常工作,因为term()不是木材的邮政类的方法。只有terms()方法,它会让你将所有术语分配给一个帖子。


这些都可能是为什么什么都不会显示在您的代码中的原因。请记住,您也可以使用{{ dump(variable) }}来检查Twig中变量的内容。

如果仍然卡住,然后用更多的代码更新你的问题,我可以更新这个答案。