正确的无线电语法(不是复选框)

时间:2016-08-30 02:33:13

标签: php arrays checkbox radio-button

我有这个语法来提供一系列复选框。这很好用,但无论我用什么语法来获取无线电,我都什么也得不到,只是一个空白区域。

我已尝试'type' => 'radio',并尝试'type' => 'radiogroup'

这就是我现在使用的:

array(
'type' => 'checkbox',
"holder" => "div",
"class" => "",
"heading" => __("Choose your cheese topping", 'rbm_menu_item'),
'param_name' => 'cheesbox',
'value' => array( 'Cheddar'=>'Chedder', 'Gouda'=>' Gouda', 'Bleu'=>' Bleu'),
"description" => __("<br /><hr class='gduo'>", 'rbm_menu_item')
),

有什么想法吗?是否有不同的方式来获取无线电而不是复选框?

2 个答案:

答案 0 :(得分:2)

如果您使用的是视觉作曲家(WPBakery Page Builder),请尝试以下操作:

vc_add_shortcode_param( 'simple_radio', 'xyz_function' );
function xyz_function($param, $value){
if(!empty($value)){
    $hval = $value;
}
else{
    $hval = '';
}
$ret = '<input type="hidden" value="'.$hval.'" id="xyz'.$param['param_name'].'" name="'.$param['param_name'].'" class="wpb_vc_param_value wpb-input">';
foreach($param['value'] as $key => $p){
    if($value==$p){
        $checked = ' checked="checked"';
    }
    else{
        $checked = '';
    }
    $ret.='<div><input type="radio" name="xyz'.$param['param_name'].'" id="'.$param['param_name'].$p.'" value="'.$p.'" class="xyz-vc-radio'.$param['param_name'].'" style="width:auto; margin-right:5px;"'.$checked.'> <label for="'.$param['param_name'].$p.'">'.$key.'</label></div>';
}
$ret.='<script>
jQuery(".xyz-vc-radio'.$param['param_name'].'").change(function(){
    var s = jQuery(this).val();
    jQuery("#xyz'.$param['param_name'].'").val(s);
});
</script>';
return $ret;
}

答案 1 :(得分:0)

我相信这段代码已经完成了一些谷歌搜索和搜索文档,来自Visual Composer for WordPress。

看起来这是一个传递给vc_map() params键的数组,用于将您的短代码添加到Visual Composer内容元素列表中。

通过the vc_map documentation查看,遗憾的是,Visual Composer中似乎没有任何形式的单选按钮。

你可以create your own param type,但这似乎超出了这个答案的范围。如果您希望我详细介绍或提出其他问题,请随时发表评论。希望这有帮助!