我有一个包含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始终是“提交”,这是默认值。
答案 0 :(得分:2)
此问题是outlined in the Codex,是由您在短代码名称中使用连字符引起的。您应该将连字符更改为下划线:
add_shortcode('expert_locator', 'expert_locator_shortcode');
同样来自同一个链接:
重要提示 - 不要使用camelCase或UPPER-CASE作为
$atts
属性名称
答案 1 :(得分:1)
因此,在查看另一个答案中发布的codex之后,我尝试将“submitButton”更改为“submitbutton”并且它有效...