Я пытаюсь сделать троичный оператор, который говорит:
Если кнопка == red-btn
место red-btn
в классе, если это не проверка
Если кнопка == white-btn
место white-btn
в классе, если это не проверка
Если кнопка == grey-btn
место grey-btn
в классе, если это не проверка
Если кнопка == red-btn
место red-btn
и т. д.
Таким образом, он проверяет один из трех вариантов, выбранных пользователем из моего выпадающего списка Custom Field Suite, который выводит red-btn, white-btn or grey-btn
в зависимости от выбора пользователей.
Это мой код:
printf("<a class=\"%s\"href=\"%s\">%s</a></div>\n", $colour=="red-btn"?"red-btn": $colour=="white-btn"?"white-btn\": $colour=="grey-btn"?"grey-btn"", $button_link_url, $button_title);
Я знаю, что это неправильно, но мне нужна помощь, чтобы написать это правильно.
Я думаю, вам нужно больше скобок. Что-то вроде этого
printf("<a class=\"%s\" href=\"%s\">%s</a></div>\n",
($colour=="red-btn")?"red-btn":(
($colour=="white-btn")?"white-btn":(
($colour=="grey-btn")?"grey-btn":"")
),
$button_link_url,
$button_title
);
foreach($buttons as $button){
//var_dump($button);
$button_title = $button['button_title'];
$button_link_url = $button['button_link_url'];
$colour = $button['colour'];
reset($colour);
$first_colour = key($colour);
var_dump($first_colour);
printf("<a class='%s' href='%s'>%s</a>\n",
($first_colour=="Red")?"red-btn":(
($first_colour=="White")?"white-btn":(
($first_colour=="Grey")?"grey-btn":"")
),
$button_link_url,
$button_title
);
}
Вот еще один вариант, который не отвечает на поставленный вопрос (о троичных операторах), но может ответить на основной вопрос о размещении правильного класса в HTML
printf("<a class='%s' href='%s'>%s</a></div>\n",
$colour,
$button_link_url,
$button_title
);