根据php条件更改图标

问题描述 投票:1回答:4

我为每个元素类别指定了一个颜色值。我检索具有该类别的颜色,并使用以下方式在<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中正确执行此操作?

php html wordpress
4个回答
0
投票

有更多的方法可以做到这一点,我假设你只有两张图片(否则你可以使用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。


0
投票

您可以通过检查$ 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中执行此操作,这就是我给出的答案。


0
投票

它非常简单你需要提出一些条件

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="">

0
投票

由于类别已经知道它的颜色。为什么不让图标也成为类别类的属性?然后在你的vieuw你可以简单地写一些类似的东西

<img src="<?php echo $first_ctg->get_icon()">
© www.soinside.com 2019 - 2024. All rights reserved.