2

我有以下代码:

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

为此有三种可能的字符串输出:“food”、“drink”、“food & Drink”。

我想用小图标替换这些字符串(例如“饮料”的玻璃杯)。

有没有一种简单的方法可以用 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

你可以使用开关:

<?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 回答
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 回答