У меня есть следующий код:
<?php echo get_custom_field('Services'); ?>
Для этого есть три возможных строковых выхода: «еда», «напиток», «еда и напитки».
Я хотел бы заменить эти строки маленькими значками (например, стакан для «напитка»).
Есть ли простой способ сделать это с PHP?
благодаря
Вы можете сопоставить значения через массив:
$items = array( "Food" => "plate.png", "Drink" => "glass.png", "Food & Drink" => "tray.png" );
Затем выполните ваш поиск при повторении изображения:
<img src="<?php echo $items[ get_custom_field('Services') ]; ?>" />
Вы можете использовать переключатель:
<?php switch (get_custom_field('Services')) { case "glass": echo '<img src="glass.jpg" />'; break; case "drink": echo '<img src="food.jpg" />'; break; case "food & drink": echo '<img src="food-drink.jpg" />'; break; default: echo '<img src="noicon.jpg" />'; } ?>
Не прямой ответ, но я бы добавил класс к элементу (содержащий …) и использовал css для удаления текста и отображения фонового изображения:
PHP:
<?php echo '<span class="' . $SERVICES_ID_OR_SOMETHING . '">' . get_custom_field('Services') . '</span>'; ?>
CSS:
.SERVICES_ID_OR_SOMETHING { background: url(/path/to/image) no-repeat left center; text-indent: -9999em; }