Пытаюсь заменить: <?php the_title('' ', ' ); ?> повторяющимися запятыми:
Заголовок1, Заголовок2, Заголовок3,
быть
Заголовок1, Заголовок2, Заголовок3.
Кажется, я не могу найти какое-либо решение в Интернете, я видел много решений rtrim и implode, но не знаю, как их использовать, вот полный код:
<?php if ( $posts->have_posts() ) { while ( $posts->have_posts() ) : $posts->the_post(); global $post; ?>
<a class = "link" href = "<?php the_permalink(); ?>"><?php the_title( $before='', $after=', ' ); ?></a>
<?php endwhile; } else { echo '<h4>' . __( 'Link not found', 'shortcodes-ultimate' ) . '</h4>'; } ?>
Любая помощь будет принята с благодарностью, большое спасибо.






Здесь:
rtrim($string, ","); // this will remove the comma on the right.
$string . = "."; // This will add a dot.
$titleString = "Title1, Title2, Title3,";
// your string
echo $newstring = trim($titleString, ',');
// your string having removed the trailing comma
Попробуйте определить , или . в вашем цикле. Вы можете сделать это, выяснив, какой из них является последний пост.
<?php if ( $posts->have_posts() ) { while ( $posts->have_posts() ) : $posts->the_post(); global $post; ?>
<?php $commaAndDot = ($posts->current_post + 1 != $posts->post_count) ? ', ' : '.'; ?>
<a class = "link" href = "<?php the_permalink(); ?>"><?php the_title( $before='', $after=$commaAndDot ); ?></a>
<?php endwhile; } else { echo '<h4>' . __( 'Link not found', 'shortcodes-ultimate' ) . '</h4>'; } ?>
Хотя это может дать ответ на вопрос, лучше добавить описание того, как этот ответ может помочь решить проблему. Пожалуйста, прочтите Как мне написать хороший ответ, чтобы узнать больше.