0

这是我的一个简码:

    function sc_link( $atts ) {
    extract( shortcode_atts(
        array(
            'page' => '',
            'style' => 'button',
            'window' => 'self',
            'label' => 'Missing Label Tag: label=""',
        ), $atts )
    ); 
    return '<a href="' . $page . '" class="' . $style. '" target="_' . $window . '">' . $label . '</a>';
}
add_shortcode( 'mylink', 'sc_link' );

我想要做的是返回前的条件:如果 $window = 'new' 然后 echo 'blank'。

4

2 回答 2

1

认为这就是您尝试做的 id 建议做的事情就是将窗口留空,然后在上面做一个 if 语句

你想要的样子

    function sc_link( $atts ) {
    extract( shortcode_atts(
        array(
            'page' => '',
            'style' => 'button',
            'window' => 'self',
            'label' => 'Missing Label Tag: label=""',
        ), $atts )
    ); 

    if($window == "new"){
    $link = '<a href="' . $page . '" class="' . $style. '" target="_blank">' . $label . '</a>';
    }else{
    $link = '<a href="' . $page . '" class="' . $style. '" target="_self">' . $label . '</a>';    
    }

    return $link;
}
add_shortcode( 'mylink', 'sc_link' );

应该如何

    function sc_link( $atts ) {
    extract( shortcode_atts(
        array(
            'page' => '',
            'style' => 'button',
            'window' => '',
            'label' => 'Missing Label Tag: label=""',
        ), $atts )
    ); 

    if(!$window){
        $link = '<a href="' . $page . '" class="' . $style. '" target="_self">' . $label . '</a>';
    }else{
        $link = '<a href="' . $page . '" class="' . $style. '" target="' . $window . '">' . $label . '</a>';    
    }

    return $link;
}
add_shortcode( 'mylink', 'sc_link' );

The your shortcode will be link 

[shorcode page="" window="" label=""]
于 2013-09-13T17:02:25.823 回答
0

这是一个简单的短代码条件输出示例。我建议不要使用这种类型的语法,因为它可能会在战斗中迷失。

echo ($window === 'new') ? $window : '';

这种格式是有条件的?如果为真怎么办:如果为假怎么办

于 2013-09-13T16:55:58.647 回答