Оператор IF IF для разрешения A, B, C & D - PullRequest
0 голосов
/ 19 октября 2018

Я хочу вывести таксономию, чтобы, если выбран один элемент, он отображал (например, 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 выбран = красныйзатем 2 selected = красный и зеленый), но если выбрано более двух, он делает это (например, 3 selected = Red & GreenBlack).

1 Ответ

0 голосов
/ 19 октября 2018

Соедините все элементы, используя ,, кроме последнего.Добавьте последний элемент с помощью &:

if (count($colours) > 1) {
    $lastColour = array_pop($colours);
    echo implode(', ', $colours) . ' & ' . $lastColour;
} else {
    echo current($colours);
}

Пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...