我为每个元素类别指定了一个颜色值。我检索具有该类别的颜色,并使用以下方式在<span>
中将其用作背景颜色:
<span class="cat-icon" style="background-color: <?php echo esc_attr( $first_ctg->get_color() ) ?>;">
我需要做的是,根据颜色的值,我必须在<span>
中显示一个或另一个图像源。
if ($first_ctg->get_color() == red)
show img_01
elseif ($first_ctg->get_color() == blue)
show img_02
endif;
如何在PHP中正确执行此操作?
有更多的方法可以做到这一点,我假设你只有两张图片(否则你可以使用elseif)。解:
<span class="cat-icon" style="background-color: <?php echo esc_attr( $first_ctg->get_color() ) ?>;">
<?php
$src = "img_02";
if ($first_ctg->get_color() == "red") {
$src = "img_01";
}
?>
<img src="<?php echo $src ?>">
我首先在条件中找到图像源,然后将其值赋给变量$ img。然后我回应源代码到PHP标签内的src。
您可以通过检查$ first_ctg-> get_color()的值并基于该值回显整个<span>
元素来使用PHP执行此操作,即
switch ( $first_ctg->get_color() ) {
case 'red': // or whatever value you would expect to receive from your get_color() function
echo '<span class="cat-icon" style="background-color:#ACOLOR"><img src="PATH/TO/WHATEVER/IMAGE"><span>';
break;
case 'another color':
echo '<span class="cat-icon" style="background-color:#ANOTHERCOLOR"><img src="PATH/TO/ANOTHER/IMAGE"><span>';
break;
...
default:
echo '<span class="cat-icon" style="background-color:#ANOTHERCOLOR"><img src="PATH/TO/ANOTHER/IMAGE"><span>';
break;
}
值得一提的是,这可以说是使用Javascript(或JQuery)基于其他元素或属性操纵DOM的情况,但是因为你的问题特别询问如何在PHP中执行此操作,这就是我给出的答案。
它非常简单你需要提出一些条件
if ($first_ctg->get_color() == red)
{
$src = "https://www.example.com/img/background.png";
}
elseif ($first_ctg->get_color() == blue)
{
$src = "https://www.example.com/img/background-2.png";
}
并进入img标签你需要把这个变量(即:$ src)
<img src="<?php echo $src;?>" title="">
由于类别已经知道它的颜色。为什么不让图标也成为类别类的属性?然后在你的vieuw你可以简单地写一些类似的东西
<img src="<?php echo $first_ctg->get_icon()">