2011-10-30 39 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

再次感谢你,并为我的可怜英语感到抱歉(noob用这种语言xD)。 – John