Shotcode argument issues

时间:2017-11-20 作者:The WP Intermediate

function some_function_bbb() {
        ob_start();
        extract( shortcode_atts( array(
            \'hexabexa\'        => 0
            ), $atts )
         );
         $args = array(
            \'hexabexa\'        => $hexabexa
        );
        ?>


        <div class="newsletter <?php echo $args[\'hexabexa\']==1 ? \'newsletter2\' : \'\' ?>">
            <h2>Plugin Works!</h2>            
        </div>
        <?php
        return ob_get_clean();
}
add_shortcode(\'some_function_bbb\', \'some_function_bbb\');
短代码→

[some_function_bbb hexebexa="1"] → 
仍然没有打印班级新闻稿2。我错在哪里?

1 个回复
最合适的回答,由SO网友:CodeMascot 整理而成

你需要通过$atts 作为函数的参数。您也不需要使用extract() 功能和更好的避免extract 尽可能多地发挥作用。所以你的整个代码块-

function some_function_bbb( $atts ) {
    $atts = shortcode_atts(
        array(
            \'hexabexa\' => 0
        ),
        $atts
    );

    ob_start();
    ?>


    <div class="newsletter <?php echo $atts[\'hexabexa\'] == 1 ? \'newsletter2\' : \'\' ?>">
        <h2>Plugin Works!</h2>
    </div>
    <?php
    return ob_get_clean();
}
add_shortcode(\'some_function_bbb\', \'some_function_bbb\');
// Call it like [some_function_bbb hexabexa=1]
最后,您错误地传递了shortcode属性。您将属性声明为hexabexa 并将属性传递为hexebexa. 在您的短代码中,e应该是a。所以也要纠正这个错误。

希望这有帮助。

结束

相关推荐

Shortcode syntax errors

试图编写一个短代码来创建库,但我遇到了一个分析错误。我的foreach 循环需要校正并返回正确的输出。有什么帮助吗?function allphotos_shortcode(){ $images = get_field(\'fl_gallery\'); if( $images ) { $output .= \'<ul>\'; foreach( $images as $image ) :