我为 WPBakery 插件创建了一个自定义元素。我已经为这个元素绘制了一个简单的复选框:
array(
'type' => 'checkbox',
'heading' => esc_html__( 'Add box shadow?', 'js_composer' ),
'param_name' => 'add_boxShadow',
'value' => array('Yes' => 'true'),
'std' => false,
'description' => esc_html__('Ticking this will add a shadow below the row.'),
'group' => __( 'Custom', 'my-text-domain' ),
)
我已经像这样初始化它:
$output = "";
extract(
shortcode_atts(
array(
'add_boxShadow' => false,
// 'add_boxShadow' => '', have also tried this
),
$atts
)
);
并像这样输出:
<?php
$shadowBottom = "";
($add_boxShadow = true ? $shadowBottom = "shadow__bottom" : "");
$output .= '<div class="wrapper'.$shadowBottom.' "> test </div>';
return $output;
?>
综上所述,我遇到了以下问题:
一个
var_dump($add_boxShadow)
返回bool(false) bool(false)
。我猜这是因为初始化 var 时, $add_boxShadow 设置为 false ('add_boxShadow' => false
)。但是,我这样做是为了取消选中我的默认复选框。在 WPBakery 页面构建器中,该字段的外观如下:
这很好,默认情况下未选中这是我想要的。但是,如果我然后勾选复选框,保存并更新页面,当我返回该块设置时,该复选框仍然未选中。几乎就好像它总是被渲染为假?