我正在构建一个插件,我想添加一些依赖于复选框的设置。我知道如何在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属性的选项。如何知道用户是否选中了复选框。我希望你能理解我的问题。
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\',
)
);