2011-11-14 130 views
0

我有一個名爲「藝術家」的自定義分類。我希望能夠展現藝術家如下:Wordpress自定義分類 - get_the_terms_list();

[Main Artist/First in Array] ft. [Second Artists], [Third Artist] & [Last Artist] 

我目前使用,以顯示「藝術家」的代碼是:

<?php $artists_links = get_the_term_list($track->ID, 'artists', '', ' ', ''); 
     $artists_withoutlinks = strip_tags($artists_links); 
     echo $artists_withoutlinks ?> 

所以會有人能夠幫助有了這個?總之,我希望能夠做的是:

  • 將第一項之後的分隔符更改爲「ft」。
  • 更改分隔符爲「&」

很顯然,我希望保留數據庫調用到最低限度,使查詢儘可能快,任何幫助是極大的讚賞的最後一項之前。

回答

1

使用get_the_terms()而不是get_the_term_list()。後者將這些術語提取到一個字符串中,第一個創建一個術語數組。仍然只有一個查詢。之後從數組中創建字符串:

<?php 
    $artists = get_the_terms($track->ID, 'artists'); 
    $artist_string = ''; 
    $length = count($artists); 
    for($i = 0; $i < $length; $i++) { 
     $artist_string .= strip_tags($artists[$i]); 
     if ($i == 0) 
      $artist_string .= ' ft. '; 
     elseif ($i == $length - 2) 
      $artist_string .= ' & '; 
     elseif ($i != $length - 1) 
      $artist_string .= ', '; 
    } 
    echo $artist_string; 
?> 
+0

我遇到的另一個問題是標籤的順序。我似乎無法找到任何能夠讓我按照將它們附加到軌道的順序顯示標籤的內容。 任何建議 – Ammar