第二个短代码参数在我的Wordpress插件中没有变化

时间:2015-06-12 14:01:39

标签: php wordpress wordpress-plugin

我有一个包含2个参数的短代码,label和searchButton。标签一个正常,但我的searchButton永远不会改变它的价值。

我如何在我的wordpress博客中写下

[expert-locator label="labl" searchButton="hzz"]

在我的代码中

add_shortcode('expert-locator', 'expert_locator_shortcode');       

function expert_locator_shortcode( $atts ) {

/*
 * Custom search label and submit button from shortcode parameter
 */
extract( shortcode_atts( 
            array (
                'label' => "Enter skills you're looking for: ",
                'searchButton' => "Submit"
            ), 
            $atts )
);

//extract( $shortcode_params );

global $wpdb;

$authors = array();

//begin form 
expert_form_output( $label, $searchButton ); //function contained in functions.php
}

function expert_form_output( $label = "Enter skills you're looking for: ",
                         $searchButton = "Submit" ) {
?>
<form method="get">
    <label for="searchTerm"><?php echo $label ?></label>
    <input type="text" name="searchTerm" 
        value="<?php if (isset($_GET['searchTerm'])) echo $_GET['searchTerm']; ?>">
    <input type="submit" value="<?php echo $searchButton ?>">
</form>
<?php
}

我的标签更改为我在博客中放置的内容,但我的searchButton始终是“提交”,这是默认值。

2 个答案:

答案 0 :(得分:2)

此问题是outlined in the Codex,是由您在短代码名称中使用连字符引起的。您应该将连字符更改为下划线:

add_shortcode('expert_locator', 'expert_locator_shortcode');       

同样来自同一个链接:

  

重要提示 - 不要使用camelCase或UPPER-CASE作为$atts属性名称

答案 1 :(得分:1)

因此,在查看另一个答案中发布的codex之后,我尝试将“submitButton”更改为“submitbutton”并且它有效...