覆盖短码插件中的属性值

时间:2013-07-14 作者:Sahil

我已经根据需要制作了一些短代码插件。但这次我遇到了一个奇怪的问题。我在短代码中的属性在执行它们时并没有得到写在短代码中的值,相反,我只是得到默认的设置值。请帮帮我。

add_shortcode(\'wi_form\' , \'wi_form_func\');

function wi_form_func($input) {
    extract(shortcode_atts( array(
        \'productName\'  => \'Java\',
        \'productPrice\' => 1000
    ), $input));
    return $productName . esc_attr($productPrice);
}

1 个回复
SO网友:birgire

尽量不要在短代码属性中使用大写字母,例如

[wi_form product_name="php" product_price="888" ]
其中:

add_shortcode( \'wi_form\' , \'wi_form_func\' );

function wi_form_func($input) {
    extract(shortcode_atts( array(
        \'product_name\'  => \'Java\',
        \'product_price\' => 1000
    ), $input));
    return $product_name . esc_attr( $product_price );
}
或者这个:

add_shortcode( \'wi_form\' , \'wi_form_func\' );

function wi_form_func($input) {
    $input = shortcode_atts( array(
        \'product_name\'  => \'Java\',
        \'product_price\' => 1000
    ), $input );
    return $input[\'product_name\'] . esc_attr( $input[\'product_price\'] );
}
如果您不想使用extract:

更新:

快捷码属性将通过strtolower()shortcode_parse_atts() 从shortcode标记检索它们的函数(see here).

结束

相关推荐

shortcode for logo image

我有以下代码用于使用短代码图像显示图像,但短代码是[image name=logo] 从名为logo的/uploads/目录加载图像。巴布亚新几内亚;更改名称,我可以像狗一样加载不同的图像。png项目符号。png等。名称后写入=名称文件。所以我的问题是如何让函数在短代码上编写[logo] 我可以得到图像标志。巴布亚新几内亚function image_shortcode($atts, $content = null) { extract( shortcode_atts( array(