Как вывести значения переменной через запятую в WP get_terms?
Есть код:
$terms = get_terms([
'taxonomy' => 'label',
'parent' => 146,
]);
if (!empty($terms)) {
foreach($terms as $term) {
echo $term->name;
$posts = get_posts([
'tax_query' => [
[
'taxonomy' => 'label',
'field' => 'id',
'terms' => [$term->term_id]
]
],
'post_type' => 'post', // Или другой пост тайп
'posts_per_page' => -1
]);
foreach($posts as $post) :
setup_postdata($post); ?>
<?php
$title = $post->post_title;
echo $title;
?>
<?php endforeach;
wp_reset_postdata();
}
}
Нужно переменную $title вывести через запятую, но ничего не получается. Пробовала preg_replace, explode, implode, регулярки и везде результат отрицательный. Если смотреть вывод в html, то echo $title; выводит вот так:
Заголовок 1
Заголовок 2
Заголовок 3
Ответы (2 шт):
Автор решения: KAGG Design
→ Ссылка
Вместо
foreach ( $posts as $post ) :
setup_postdata( $post ); ?>
<?php
$title = $post->post_title;
echo $title;
?>
<?php endforeach;
вставьте
$titles = [];
foreach ( $posts as $post ) :
setup_postdata( $post ); ?>
<?php
$titles[] = $post->post_title;
?>
<?php endforeach;
echo implode( ', ', $titles );
Этот кусок кода собирает все ваши заголовки в массив, а потом их выводит строкой через запятую.
Автор решения: BlackStar1991
→ Ссылка
Вы уверены, что вам нужны эти чудо выводы? Есть простое решение через CSS
h2:not(:nth-last-of-type(1))::after {
content: ",";
}
<h2>Text1</h2>
<h2>Text2</h2>
<h2>Text3</h2>
<h2>Text4</h2>
<h2>Text5</h2>