带有自定义选项页面的复选框上的问题

时间:2013-08-18 作者:Mona Coder

我试图使用设置API在自定义选项页上使用复选框。每件事在后端都可以正常工作,我可以通过注册设置来更新复选框状态。但是当我想在页面上看到结果时,我得到了相同的结果" The checkbox has not been checked." 即使如此,复选框已在选项上进行检查和更新。php和我的自定义选项页面!

以下是更新和保存复选框状态的方法:

public  function contactprice_setting(){
    $options = get_option(\'price_display_options\');
    $html = \'<input type="checkbox" id="checkbox_contactprice" name="price_display_options[checkbox_contactprice]" value="1"\' . checked( 1, $options[\'checkbox_contactprice\'], false ) . \'/>\';  
    $html .= \'<label for="checkbox_contactprice">Uncheck The Text Box</label>\';
    echo $html;
    }
正如我所说的,这部分工作得很好,但当我尝试在索引中输出结果时。php组件:

<?php if( $input_examples[\'checkbox_contactprice\'] == \'1\' ) { ?>  
    <p>The checkbox checkbox has been checked.</p>  
<?php } else { ?>  
    <p>The checkbox has not been checked.</p>  
<?php } // end if ?>
正如我提到的,我得到了"The checkbox has not been checked." 在已检查或已检查的情况下。你能告诉我为什么要买这个吗?

2 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

。。。在索引中使用此代码。php结果为“null”

因为引用的代码是var_dump($input_examples); 这意味着$input_examples 尚未设置或out of scope 您尝试使用它的地方。您需要添加。。。

$input_examples = get_option(\'price_display_options\'); // maybe not the right key
。。。到此行之前的代码:

if( $input_examples[\'checkbox_contactprice\'] == \'1\' ) {
我在猜测选项的名称,但你明白了。

SO网友:Vinod Dalvi

与使用==运算符比较字符串“1”不同,您应该使用strcmp 功能如下代码所示:

<?php if( strcmp( $input_examples[\'checkbox_contactprice\'], \'1\' ) != 0 ) { ?>  
    <p>The checkbox has been checked.</p>  
<?php } else { ?>  
    <p>The checkbox has not been checked.</p>  
<?php } // end if ?>

结束

相关推荐

使用jQuery删除存储在wp_Options中的数据

我想知道是否有人能就我的问题给我进一步的建议。我的插件的一部分存储了用于调试的日志文件。我已经使用jquery和wp\\u localise\\u脚本在我的管理页面的(div#log)中成功地显示了它们。我有一个删除这些日志的按钮,但我不确定如何处理。我觉得ajax可能会在这里派上用场,但不确定从哪里开始。以下是我的代码的相关部分:admin_enqueue_scripts (action) $args = array(get_option(\'wow_tweets_log\'));//log files