我正在尝试实现一个简单的复选框来切换我的Wordpress主题中的选项,但它不起作用。这就是我所拥有的:
表格......
<input type="checkbox" class="display-twitter" name="display-twitter" id="display-twitter" value="true"<?php if ( true == $options['display-twitter'] ) { echo ' checked="checked"'; } ?>> <?php _e( 'Display your Twitter Feed?', 'crate' ); ?>
在清理输入的功能中......
function theme_options_validate( $input ) {
...
$input['display-twitter'] = ( isset( $input['display-twitter'] ) ? false : true );
...
return $input;
}
第一次启用该选项时选中该框,一切正常。但是当我再次检查时,我被Notice: Undefined index: display-twitter ...
抛向我。
是什么给出的?与三元有关吗?
答案 0 :(得分:0)
我认为您不应该使用isset函数,这将检查变量是否已设置且不是NULL,但是复选框始终具有2个状态,因此永远不能为NULL,这就是输出始终为true的原因。
我相信正确的功能如下:
function theme_options_validate( $input ) {
...
$input['display-twitter'] = ($input['display-twitter'] ? false : true );
...
return $input;
}