2011-10-30 7 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について知らない、私はnoobです、私はポストの最初の3つのタグの名前を表示するためにこの関数を作った、私はこの戻りたい:tag1、tag2、tag3。投稿の最初の3つのタグ名を取得する関数

この関数は機能しますが、最初のタグのみを返します。エコーは問題ありませんが、エコーは必要ありません。

答えて

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

もう一度、ありがとうございます。 – John

関連する問題