我正在尝试实现一个简单的复选框来切换我的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 ...抛向我。
怎么回事?跟三元有什么关系吗?
发布于 2013-03-06 17:07:48
我不认为你应该使用isset函数,它将检查变量是否被设置并且不是空的,但是复选框总是有2个状态,所以永远不会为空,这就是为什么输出总是真的原因。
我相信正确的函数如下所示:
function theme_options_validate( $input ) {
...
$input['display-twitter'] = ($input['display-twitter'] ? false : true );
...
return $input;
} https://stackoverflow.com/questions/15237975
复制相似问题