Я хочу вывести таксономию, чтобы, если выбран один элемент, он показывал (например, A), но если выбраны два, он показывает (например, A и B), но если выбрано больше, он добавляет запятые, затем добавляет & к последнему (например, A, B и C или A, B, C и D)
Это код, который у меня есть
$colours = get_the_terms( $post->ID, 'colour' );
if ( $colours ) {
$i = 0;
foreach ( $colours as $colour ) {
if (1==$i) {
echo ' & ';
}
echo $colour->name;
$i++;
}
}
В настоящее время это выполняется (например, 1 selected = Red, затем 2 selected = Red и Green), но когда выбрано более двух, он делает это (например, 3 selected = Red & GreenBlack).
Возможный дубликат PHP Добавить запятые к элементам с помощью AND






Соедините все элементы с помощью ,, кроме последнего. Добавьте последний элемент с помощью &:
if (count($colours) > 1) {
$lastColour = array_pop($colours);
echo implode(', ', $colours) . ' & ' . $lastColour;
} else {
echo current($colours);
}
Вы добавляете все выбранные элементы в массив, а затем используете
implode('& ', $items)для вывода.