当shordcode为空时不显示输出

时间:2015-02-22 16:43:16

标签: php wordpress

我需要在下面的代码中添加一个if语句。我使用短代码,我需要遵循以下内容: 当短代码号或图标为空时,不显示输出例如值。 现在它创建重复

提前谢谢。

// service shortcode

add_shortcode('service','service_shortcode');

function service_shortcode($atts,$content = null)
{
    extract(shortcode_atts(array( 'number' => '','icon' => '', 'title' => ''),$atts));

    $output = '';
    $output .= '<div class="service-box col-md-4 col-sm-6 col-xs-12">';
    $output .= '<div class="service-box-1 pull-left">';
    $output .= '<span><i class="fa fa-'.$icon.' icon-custom-style"></i></span>';
    $output .= '<span><p class="icon-custom-style">'.$number.'</p></span>';
    $output .= '</div>';
    $output .= '<div class="service-box-2">';
    $output .= '<h3>'.$title.'</h3>';
    $output .= '<p>'.$content.'</p>';
    $output .= '</div>';
    $output .= '</div>';

    return $output;
}

// feature shortcode

add_shortcode('feature','feature_shortcode');

function feature_shortcode($atts,$content = null)

if

{
    extract(shortcode_atts(array( 'number' => '','icon' => '', 'title' => '', 'color' => '1'),$atts));

    $output = '';
    $output .= '<div class="feature-box col-md-4 col-sm-6 col-xs-12">';
    $output .= '<div class="feature-box-1 pull-left color-'.$color.'">';
    $output .= '<span><i class="fa fa-'.$icon.' icon-custom-style"></i></span>';
    $output .= '<span><p class="icon-custom-style">'.$number.'</p></span>';
    $output .= '</div>';
    $output .= '<div class="feature-box-2">';
    $output .= '<h3>'.$title.'</h3>';
    $output .= '<p>'.$content.'</p>';
    $output .= '</div>';
    $output .= '</div>';

    return $output;
}

// feature shortcode

1 个答案:

答案 0 :(得分:0)

也许检查一下$shortcode_tags全局变量是否为空?

global $shortcode_tags;
if (!empty($shortcode_tags)) {
    // shortcode tags not empty; display output
}

编辑: 怎么样:

if (!empty($icon) || !empty($number)) {
    $output = '';
    $output .= '<div class="service-box col-md-4 col-sm-6 col-xs-12">';
    $output .= '<div class="service-box-1 pull-left">';
    if (!empty($icon)) {
        $output .= '<span><i class="fa fa-'.$icon.' icon-custom-style"></i></span>';
    }
    else {
        $output .= '<span><p class="icon-custom-style">'.$number.'</p></span>';
    }
    $output .= '</div>';
    $output .= '<div class="service-box-2">';
    $output .= '<h3>'.$title.'</h3>';
    $output .= '<p>'.$content.'</p>';
    $output .= '</div>';
    $output .= '</div>';
}