次のコードがあります。
<?php echo get_custom_field('Services'); ?>
これには、「食べ物」、「飲み物」、「食べ物と飲み物」の 3 つの可能な文字列出力があります。
これらの文字列を小さなアイコン (「飲み物」のグラスなど) に置き換えたいと思います。
PHPでこれを行う簡単な方法はありますか?
ありがとう
配列を介して値をマップできます。
$items = array(
"Food" => "plate.png",
"Drink" => "glass.png",
"Food & Drink" => "tray.png"
);
次に、画像をエコーするときにルックアップを実行します。
<img src="<?php echo $items[ get_custom_field('Services') ]; ?>" />
直接的な答えではありませんが、(含む...) 要素にクラスを追加し、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;
}
スイッチを使用できます:
<?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" />';
}
?>