Remove last comma when listing tags wordpress

2019-02-25 12:51发布

问题:

I have the following script to list a post's tags without links, but it puts a comma after all of the tags including the last one. Is there any way to prevent the script from adding a comma to the last tag in the list? I tried researching it, but there really isn't a whole lot out there about this particular wp string.

<?php
    $posttags = get_the_tags();
    if ($posttags) {
        foreach($posttags as $tag) {
            echo $tag->name . ', '; 
        }
    }
?> 

回答1:

Use rtrim. It will trim the last specified character.

    $posttags = get_the_tags();
    if ($posttags) {
       $taglist = "";
       foreach($posttags as $tag) {
           $taglist .=  $tag->name . ', '; 
       }
      echo rtrim($taglist, ", ");
   }


回答2:

if ($posttags) {
    echo implode(
        ', ', 
        array_map(
            function($tag) { return $tag->name; },
            $posttags
        )
    );
}


回答3:

I tend to do this when I need to concat a variable number of elements.

$posttags = get_the_tags();
if ($posttags) {
    foreach($posttags as $tag) {
        $temp[] = $tag->name; 
    }
}
if (!empty($temp)) echo implode(', ',$temp);


回答4:

Change the placement of that Comma and put a small condition

<?php
    $posttags = get_the_tags();
    if ($posttags)
    {
        $first=true;
        foreach($posttags as $tag) 
        {
            if($first)
            {
                echo $tag->name; 
                $first=false;
            }
            else
            {
                echo ', '.$tag->name; 
            }
        }
    }
?> 


回答5:

You need the wordpress function the_tags. It will echo a tags so you won't need the whole loop.



标签: php wordpress