搜索

首页  >  问答  >  正文

在连接中间使用条件语句:指南

所以我有三个变量 $blue_tooltip_icon、$red_tooltip_icon 和 $gray_tooltip_icon。现在我希望根据传递到 WordPress 短代码的属性来输出特定变量。因此,如果输入“蓝色”,则为 $blue_tooltip_icon;如果输入“红色”,则为 $red_tooltip_icon;如果输入“灰色”,则为 $gray_tooltip_icon。

问题是如何解决这个问题。我尝试使用 if 语句,但发现这在串联中是不可能的。

这就是我尝试通过短代码输出的内容,工具提示图标根据通过短代码属性输入的颜色而变化。

$message = '<span data-title="'.$atts['text'].'" class="tooltip">'.$content .$blue_tooltip_icon.'</span>';

P粉164942791P粉164942791448 天前651

全部回复(1)我来回复

  • P粉704066087

    P粉7040660872023-09-10 13:40:58

    我认为这对你有帮助。

    <?php
    // Cleaner way
    
    $blue_tooltip_icon = 'blue';
    $red_tooltip_icon = 'red';
    $green_tooltip_icon = 'green';
    
    $atts['text'] = 'john';
    $content = 'content';
    
    $icons = [
        'blue' => $blue_tooltip_icon,
        'red' => $red_tooltip_icon,
        'green' => $green_tooltip_icon
    ];
    
    $input = 'red';
    
    //$message = '<span data-title="' . $atts['text'] . '" class="tooltip">' . $content . $icons[$input] . '</span>';
    
    // Awkward style with ternary operator
    
    $input = 'green';
    
    $message = '<span data-title="' . $atts['text'] . '" class="tooltip">' . $content . (($input == "red") ? $red_tooltip_icon : (($input == "blue") ? $blue_tooltip_icon : $green_tooltip_icon)) . '</span>';
    
    echo $message;
    
    

    回复
    0
  • 取消回复