【问题标题】:Wordpress - remove last Comma from output with rtrimWordpress - 使用 rtrim 从输出中删除最后一个逗号
【发布时间】:2019-02-08 01:11:42
【问题描述】:

我有以下代码,它是小部件的一部分,用于输出分类“季节”的条款

分类术语是在它们之间用空格和逗号输出的,但它还在最后添加了一个逗号。

如何去掉最后一个逗号?

echo $args['before_widget'];
if ( ! empty( $title ) )
echo $args['before_title'] . $title . $args['after_title'];

global $post;  
$tags = get_the_terms( $post->ID, 'season' );

if( $tags ) : ?>

 <?php foreach( $tags as $tag ) :

  $tag_link = esc_url( get_term_link( $tag ) );
  $tag_output = '';
  $tag_output .= '<a href="' . $tag_link . '" class="listing-tag">';        
  $tag_output .= '<span class="tag__text">' . $tag->name . '</span></a>';
  $tag_output .=", ";

  echo $tag_output;

  endforeach; ?>

 <?php endif;

echo $args['after_widget'];
}

我一直在尝试使用rtrim($tag_output,', ');,但我就是不知道将这个rtrim 字符串放在哪里,以使其正常工作。

rtrim($tag_output,', '); 应该在代码中的哪个位置进行这项工作?

【问题讨论】:

    标签: php wordpress syntax-error taxonomy


    【解决方案1】:

    map your array 可能更容易包含您想要的字符串,然后使用implode() 显示它。例如

    if ($tags) {
        $tagOutput = array_map(function($tag) {
            return sprintf(
                   '<a href="%s" class="listing-tag"><span class="tag__text">%s</span></a>',
                    esc_url( get_term_link( $tag ) ),
                    $tag->name
            );
        }, $tags);
    
        echo implode(', ', $tagOutput);
    }
    
    echo $args['after_widget'];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 2013-11-24
      • 1970-01-01
      相关资源
      最近更新 更多