短代码没有给我在Wordpress中输出的欲望

时间:2013-02-01 12:29:11

标签: wordpress wordpress-plugin shortcode

插件代码

function myShortcode( $atts ) {  
    extract( shortcode_atts( array( 'cat' => '', ), $atts ) );  
    ob_start();  
    if ( $cat == '' ) { echo "Do Nothing!"; } 
    $output_string = ob_get_contents();  
    ob_end_clean();  
    return $output_string;  
}  
add_shortcode( mycatlist, myShortcode);

在帖子中添加以下短代码(在wp-admin的帖子部分中)

    [mycatlist cat=4]

在wordpress模板文件中添加以下代码

    <?php echo do_shortcode("[mycatlist]"); ?>

我得到的输出什么都不做!

但我希望获得cat值,我的意思是4

1 个答案:

答案 0 :(得分:0)

您发布的代码包含大量与您的测试场景无关的代码。简化它:

 function myShortcode( $atts ) {  

    // maybe add some debugging?
    // print_r($atts);

    extract( shortcode_atts( array( 'cat' => '', ), $atts ) );  
    return $cat;
 }  
 add_shortcode( 'mycatlist', 'myShortcode');

现在这样称呼:

<?php echo do_shortcode("[mycatlist cat=\"4\"]"); ?>

它应该在你的页面上打印4。