Я пытаюсь заменить: <?php the_title('' ', ' ); ?>
с повторяющимися запятыми:
Название1, Название2, Название3,
быть
Название1, Название2, Название3.
Кажется, я не могу найти какое-либо решение в Интернете, я видел много триумфальных решений, но не знаю, как его использовать, вот полный код:
<?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>'; } ?>
любая помощь будет очень признательна, большое спасибо.
Попробуйте определить ,
или .
в вашей петле. Вы можете сделать это, выяснив, что является последний пост.
<?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>'; } ?>
Вот:
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