2011-10-30 3 views
0
function hashtags(){ 
    $tags = get_the_tags($post->ID); 
    $count=0; 
    foreach ($tags as $tag){ 
    $count++; 
    if (1 == $count) { 
    return $tag->name . ', '; 
    } 
    if (2 == $count) { 
    return $tag->name . ', '; 
    } 
    if (3 == $count) { 
    return $tag->name; 
    } 
    } 
} 

PHP에 대해 모르겠다. 멍청한데, 나는이 기능을 사용하여 게시물의 처음 3 개 태그 이름을 표시했다. 나는이 반환을 원한다. : tag1, tag2, tag3.게시물의 처음 3 개 태그 이름을 가져 오는 기능

이 함수는 작동하지만 첫 번째 태그 만 반환합니다. 아무런 문제가 없으면 echo하지만 아무 생각이 들지 않습니까?

답변

1

죄송 합니다만 오해 하셨다면 get_the_tags 함수에서 찾은 이름의 쉼표로 구분 된 목록을 반환하려한다고 생각하십니까? 그렇다면이 작동합니다 : 그것은 코드가 태그를 통해 루프

$tags = get_the_tags($post->ID); 
$names = array(); 
$count = 1; 
foreach ($tags as $tag) { 
    $names[] = $tag->name; 
    if ($count++ == 3) { 
    break; 
    } 
} 

return implode(', ', $names); 

을, 배열 ($names)에 각 태그의 이름을 추가하고, 마지막으로 쉼표로 구분 된 목록 생성 implode()을 통해 배열을 실행합니다.

+0

정말 고맙습니다. 결과를 3 개의 태그로 제한 할 수 있습니까? – John

+0

'get_the_tags'로 생각하지 않지만 수동으로 할 수 있습니다. 응답을 업데이트했습니다 :-) – Clive

+0

다시 한 번 고맙습니다. 내 가난한 영어 (멍청한 놈, xD)를 보내 주셔서 감사합니다. – John

관련 문제