2016-08-20 13 views
3

私はカスタムタクソミーミー(年)を持っていて、毎年はタームです。映画には1年以上の時があります。私は(first - Last)年1年間だけ1枚のフィルムから印刷する必要があります。私は最初と最後の年をこのように表示したい
2008、2009、2010、2011、2012、2013、2014、2015年と2016商品のタクソノミの最初と最後のタームのみを表示します

:たとえば

私は吸血鬼の日記のために、この年の持っています:吸血鬼の日記(2008年から2016年)

私のコードは次のとおりです。

<?php $releaseyear_as_text = get_the_term_list($post->ID,'release-year','', ' , '); ?> 

    <h1><a href="<?php the_permalink() ?>"><?php the_title(); ?>&nbsp;(<?php echo strip_tags($releaseyear_as_text) ?>)</a></h1> 
    <div class="clearfix"></div> 

どのように私はこれを達成することができますか?私はあなたが稀期待まさに表示される下のいくつかのコードを書く必要があり

おかげ

答えて

1

。さらに、その2、他のケースを処理します:

  • を一つの用語(1年)
  • が何の用語が存在しない(ノー年)ここで

でカスタマイズしたコードがある場合:

<?php 

// Getting the years for the current post ID in a string coma separated 
$release_years_str = get_the_term_list($post->ID,'release-year','', ','); 

// concerting years string in an array of years 
$release_years_arr = explode(',', $release_years_str); 

// Number of items (terms) in the array 
$count = sizeof($release_years_arr); 

// First term year 
$first_year = $release_years_arr[ 0 ]; 

// if there is more than on term (year) 
if ($count > 1) 
{ 
    // Last term year 
    $last_year = $release_years_arr[ $count - 1 ]; 

    // Formatting in a string the 2 years: (first - Last) 
    $releaseyear_as_text = ' (' . $first_year . ' - ' . $last_year . ')'; 

} 
elseif ($count == 1) // If there is only one term (one year in the array) 
{ 
    $releaseyear_as_text = ' (' . $first_year . ')'; 
} 
else // No term (No years, empty array) 
{ 
    $releaseyear_as_text = ''; 
} 
?> 

<h1><a href="<?php the_permalink() ?>"><?php the_title(); echo strip_tags($releaseyear_as_text); ?></a></h1> 
<div class="clearfix"></div> 

WordPress Function Reference wp get post terms

関連する問題