Как убрать последнюю запятую в списке тегов? - PullRequest
0 голосов
/ 04 мая 2018

У меня есть небольшой фрагмент для отображения тегов, разделенных запятыми в WordPress:

<?php 
$tags = get_tags();
$html = '<div class="post_tags">';
foreach ( $tags as $tag ) {
    $tag_link = get_tag_link( $tag->term_id );
    $html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
    $html .= "{$tag->name}</a>, ";
}
$html .= '</div>';
echo $html;
?>

Теперь, как я могу удалить последнюю запятую? Или, может быть, есть лучший способ, чем мой выше?

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Или если вы не хотите считать снова и снова в цикле.

<?php

$tags = get_tags();
$arr_len = count($tags); // Performance matter

$html = '<div class="post_tags">';
foreach ($tags as $index => $tag) {
    $tag_link = get_tag_link( $tag->term_id );
    $html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
    $html .= "{$tag->name}</a>" . ( ($index == $arr_len - 1) ? '' : ', ');
}
$html .= '</div>';

echo $html;
?>
0 голосов
/ 04 мая 2018
<?php 
$tags = get_tags();
$tag_count = 1;

$html = '<div class="post_tags">';
foreach ( $tags as $tag ) {
    $tag_link = get_tag_link( $tag->term_id );
    $html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
    $html .= "{$tag->name}</a>" . ( $tag_count < count( $tags ) ? ", " : "");
    $tag_count++;
}
$html .= '</div>';

echo $html;
?>

Вам просто нужно установить счетчик и отобразить запятую, если общее количество тегов меньше текущего счетчика. Как только счет будет равен общему количеству тегов, он не будет отображать ничего вместо запятой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...