2

次のコードがあります。

<?php echo get_custom_field('Services'); ?>

これには、「食べ物」、「飲み物」、「食べ物と飲み物」の 3 つの可能な文字列出力があります。

これらの文字列を小さなアイコン (「飲み物」のグラスなど) に置き換えたいと思います。

PHPでこれを行う簡単な方法はありますか?

ありがとう

4

3 に答える 3

4

配列を介して値をマップできます。

$items = array(
    "Food" => "plate.png",
    "Drink" => "glass.png",
    "Food & Drink" => "tray.png"
);

次に、画像をエコーするときにルックアップを実行します。

<img src="<?php echo $items[ get_custom_field('Services') ]; ?>" />
于 2012-06-19T14:11:03.153 に答える
1

直接的な答えではありませんが、(含む...) 要素にクラスを追加し、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;
}
于 2012-06-19T14:27:06.953 に答える
1

スイッチを使用できます:

<?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" />';
        }
?>
于 2012-06-19T14:09:18.317 に答える