自定义短代码无效

时间:2014-05-22 14:55:17

标签: php wordpress shortcode

我第一次尝试制作自己的短代码。我做了所有事情,没有语法错误。有人可以告诉我这是什么错误吗?它没有用。

我已将此代码实现到function.php文件中,Dreamweaver告诉我没有语法错误。

function booknovelist_button( $atts ) {
    // Attributes   
    extract( shortcode_atts( array( 
        'style' => 'rfc',
        'link' => 'www.booknovelist.com'
    ), $atts ) );

    $style  = '$atts[style]'; $choice = ' '; $choicehover = ' ';

    if ($style == 'rfc') {
        $choice='link to image';
        $choicehover='link to image';
    }; 

    if ($style == 'sn') {
        $choice='link to image';
        $choicehover='link to image';
    }

    if ($style == 'pon') {
        $choice='link to image';
        $choicehover='link to image';
    }

    if ($style == 'amazon') {
        $choice='link to image';
        $choicehover='link to image'; 
    }

    echo '<div><a href="',$link,'"><img src="',$choice,'" onmouseover="this.src="',$choicehover,'"" onmouseout="this.src="',$choice,'""></a></div> ' ; } 
}

add_shortcode ( 'bn_btn', 'booknovelist_button' );

1 个答案:

答案 0 :(得分:0)

您应该查看 add_shortcode() 的文档并查看示例。您应该返回由短代码输出的内容。

function footag_func( $atts ) {
    return "foo = {$atts['foo']}";
}
add_shortcode('footag', 'footag_func');

所以不要回应你的div,你应该把它归还。

您的代码似乎也有其他语法错误。