Я генерирую список терминов в настраиваемом типе сообщений в WordPress, в этом коде я добавляю запятую в конец каждого элемента, чтобы отделить ее в формате списка, как бы я либо устранил последнюю запятую от распространения при добавлении или удалить последнюю запятую в списке.
$terms = get_the_terms( $post->ID, 'clients' ); if ( $terms && ! is_wp_error( $terms ) ) : $clients_list = array(); foreach ( $terms as $term ) { $clients_list[] = $term->name; } $clients = join( ", ", $clients_list ); $catTags .= "$clients, "; endif;
Я пробовал следующее без успеха;
<em><?php $string = $catTags; echo preg_replace("/\,$/","",$catTags); ?></em>
Вы можете сделать просто:
rtrim($catTags, ', ');
То, что я обычно делаю, это добавить запятую в начале цикла, проверив, есть ли уже данные в переменной.
Итак, в этом случае что-то вроде этого:
if (strlen($catTags) > 0) $catTags .= ',';
Это должно работать:
return substr ($ string, 0, -strlen (','));
удалит последнюю запятую в конце строки.