如何在WordPress定制器中检查复选框是否已选中

时间:2018-12-04 作者:din personal

我正在构建一个插件,我想添加一些依赖于复选框的设置。我知道如何在PHP中从复选框中获取数据,但在WordPress中遇到了问题。因为我们没有向复选框添加name属性的选项。例如,我在customizer中添加了一个复选框。

$wp_customize->add_setting(\'ion\', array(
        \'sanitize_callback\' => \'ion_checkbox\'
    ));
    $wp_customize->add_control(new WP_Customize_Control($wp_customize, \'ion\', array(
        \'label\' => \'Check\',
        \'type\' => \'checkbox\',
        \'section\' => \'search_submit_section\',
        \'settings\' => \'ion\'
    )));
正如我们所看到的,没有添加name属性的选项。如何知道用户是否选中了复选框。我希望你能理解我的问题。

1 个回复
SO网友:dado

清除复选框非常容易。由于复选框值为true或false(1或0),因此只需返回其中一个值。可以编写一个简单的函数来测试复选框是否已设置,如果已设置,则返回1,否则返回0。

 function mytheme_chkbox_sanitization( $input ) {
if ( true === $input ) {
    return 1;
 } else {
    return 0;
 }
}
为复选框创建设置时,将此函数的名称传递给sanitize\\u回调参数。

 $wp_customize->add_setting( \'sample_default_checkbox\',
 array(
    \'default\' => 0,
    \'sanitize_callback\' => \'mytheme_chkbox_sanitization\',
 )
);

相关推荐