短代码属性未传递给处理函数

时间:2013-09-13 04:50:14

标签: php wordpress api plugins shortcode

不确定短代码的属性是什么,但没有传递给处理函数。

Wordpress Post中的短代码

[k_recipe recipe="snack"]Here is some content[/k_recipe]

短代码功能

add_shortcode("k_recipe", "recipe_shortcode");

function recipe_shortcode($attributes, $content){

    return "Hi " . $attributes["recipe"] . " Hi " . $content;
}

短代码输出

Hi  Hi Here is some content

为什么小吃价值没有传递?任何线索??

2 个答案:

答案 0 :(得分:2)

这里是如何使用带有属性的短代码

function bartag_func( $atts ) {
    extract( shortcode_atts( array(
        'foo' => 'something',
        'bar' => 'something else',
    ), $atts ) );

    return "foo = {$foo}";
}
add_shortcode( 'myshortcode', 'bartag_func' );

[myshortcode foo="bar" bar="bing"]

你缺少提取物

答案 1 :(得分:1)

也许您需要使用提取功能,如文档所示:

// [bartag foo="foo-value"]
function bartag_func( $atts ) {
    extract( shortcode_atts( array(
        'foo' => 'something',
        'bar' => 'something else',
    ), $atts ) );

    return "foo = {$foo}";
}
add_shortcode( 'bartag', 'bartag_func' );

http://codex.wordpress.org/Shortcode_API