在wordpress中我有一个自定义字段,您可以在其中选择多种语言。现在我想创建一个if语句,这样我就可以显示所选语言的标志。
例如,选择以下语言:NL,EN,DE,IT。
<?php if (in_array('nl', $languagevalue)) { ?>
NL image
<?php } ?>
这可以,但我想显示每种选定语言的标志。因此,如果数组包含NL显示NL-flag,并且它还包含EN,则显示EN-flag等。
我怎样才能实现这样的目标?
此致
答案 0 :(得分:2)
在包含语言代码的文件夹上为每种语言创建一个图像,如此
images/en-flag.png
images/nl-flag.png
循环通过数组显示图像
foreach ($languagevalue as $lang) {
echo '<img src="images/' . $lang . '-flag.png" alt=""/>';
}
答案 1 :(得分:1)
尝试这样的事情来检查每个项目的存在
<?php
if (in_array('nl', $languagevalue)) {
//NL image
}
if (in_array('en', $languagevalue)) {
//en image
}
if (in_array('de', $languagevalue)) {
//de image
}
if (in_array('it', $languagevalue)) {
//it image
}
?>
答案 2 :(得分:1)
我实际上是通过遍历$languagevalue
数组创建另一个带有标志图像的数组:
$flags = [];
foreach($languagevalue as $lang) {
$flags[] = "$lang-flag";
}
现在您可以迭代$flags
。
这假设您可以直接从语言名称派生标志名称。如果不是这种情况,则必须使用类似switch
语句的内容将语言名称映射到标志图像名称。
答案 3 :(得分:1)
您可以使用结尾的html和IMG标记的开头来破坏这些值 这样您就不需要循环或检查值是否在数组中。 html会自动生成。
$languagevalue = ['NL', 'EN', 'DE'];
echo '<img src="images/' . implode('-flag.png" alt=""/> <img src="images/' ,$languagevalue) . '-flag.png" alt=""/>';
输出:
<img src="images/NL-flag.png" alt=""/>
<img src="images/EN-flag.png" alt=""/>
<img src="images/DE-flag.png" alt=""/>
添加新行以澄清