如何在短代码中使用嵌套的 if else 语句

how to use nested if else stament in shortcode

我正在尝试嵌套 if else 短代码,但它不起作用。 任何人都请尽快提供帮助。

function fn_services_text_box($attr){

$name           = $attr['service_name'];
$icon           = $attr['icon_path'];
$text           = $attr['content_text'];
$link           = $attr['url_path'];

$output         = if($icon == ''){
                    $output        .='<div class="service-list-title"><h3>'.$name.'</h3></div>
                    <div class="service-list-txt">'.$text.'</div>                                    
                    <div class="service-list-readmore"><a href="'.$link.'">Know More</a></div>';
                }
                else if($link == ''){
                    $output        .='<div class="polygon-shape">
                        <div class="icon">
                            <img class="img" src="'.$icon.'" />
                        </div>
                    </div>
                    <div class="service-list-title"><h3>'.$name.'</h3></div>
                    <div class="service-list-txt">'.$text.'</div>  '; 
                }
                else{
                    $output        .='<div class="polygon-shape">
                        <div class="icon">
                            <img class="img" src="'.$icon.'" />
                        </div>
                    </div>
                    <div class="service-list-title"><h3>'.$name.'</h3></div>
                    <div class="service-list-txt">'.$text.'</div>                                    
                    <div class="service-list-readmore"><a href="'.$link.'">Know More</a></div>';
                }

return $output;

}

我在 visual composer 中使用这个短代码,将它添加到短代码映射器中。

请替换此行

$output = if($icon == ''){

$output = "";
if($icon == ''){