2017-02-28 35 views
1

我已經建立了一個先進的自定義字段項目在每個類別&存檔自定義職位類型的頂部顯示特色圖片,描述等。 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的字段在檔案或分類頁面中可用。任何人都可以提出解決這個問題的方法。在此先感謝...

回答

1

當您使用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中變量的內容。

如果仍然卡住,然後用更多的代碼更新你的問題,我可以更新這個答案。

相關問題