2011-11-14 4 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_term_list()get_the_terms(). 후자가 용어를 문자열로 가져 오는 동안 첫 번째는 용어 배열을 만듭니다. 여전히 하나의 쿼리. 나중에 배열에서 문자열을 만듭니다.

<?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

관련 문제