GET_OPTION返回不正确的值

时间:2015-06-16 作者:pouyar

我正在制作一个Wordpress插件,我从管理设置页面开始,我有页面设置,在菜单栏中,我还向页面中添加了部分和字段,它们都工作正常,当我更改字段值并保存页面并刷新设置时,它们都是相同的,这告诉我它们正在保存。对的

现在,当我尝试调用设置时,我无法获得正确的值!在设置页面上,我有1个复选框和一个文本字段,我无法获取其中任何一个的值!

我用来获取值的代码如下:

<?php
if(get_option( \'main_dashboard_check\' ) ? get_option( \'main_dashboard_check\' ) : \'no\'){echo \'yes\';}else{echo \'no\';};
?>
当我将其用于任一字段时,得到相同的值:

var_dump(get_option(\'main_text\')); 这将为复选框和文本字段显示“bool(false)”。

在管理页面上,以下是字段:

<?php
function admin_init() {

register_setting( $this->settings_field, $this->settings_field, array($this, \'sanitize_theme_options\') );
add_option( $this->settings_field, Media_Press_Settings::$default_settings );

add_settings_section(\'mediapress_main\', \'\',  
array($this, \'main_section_text\'), \'main_settings_page\');

add_settings_field(\'main_text\', \'Main Text\', 
array($this, \'render_main_text\'), \'main_settings_page\', \'mediapress_main\');

add_settings_field(\'main_dashboard_check\', \'Title\', 
array($this, \'render_main_checkbox\'), \'main_settings_page\', \'mediapress_main\', 
array(\'id\' => \'main_dashboard_check\', \'value\' => \'yes\', \'text\' => \'Test Checkbox\') );

}

function render_main_checkbox($args) {
$id = \'mediapress_options[\'.$args[\'id\'].\']\';
?>
<input name="<?php echo $id;?>" type="checkbox" value="<?php echo $args[\'value\'];?>" <?php echo isset($this->options[$args[\'id\']]) ? \'checked\' : \'\';?> /> <?php echo " {$args[\'text\']}"; ?>
<?php 
}
?>
这是呈现管理页面的一些代码,它是复选框和文本字段,当我尝试获取其中一个的值时,什么都没有发生,这是我用来获取值的代码

<?php
if(get_option( \'main_dashboard_check\' ) ? get_option( \'main_dashboard_check\' ) : \'yes\'){echo \'yes\';}else{echo \'no\';};
?>
什么都没发生!它总是打印出文本“否”。var转储刚刚显示bool(false)

有人能帮我吗?非常感谢

非常感谢和抱歉,如果我听起来很笨,我是PHP新手!

1 个回复
SO网友:James Barrett

您可以像这样使用get\\u option()函数:

<?php

$main_dashboard_check = get_option( \'main_dashboard_check\' );
var_dump( $main_dashboard_check ); /* outputs false if the value does not exist */

$main_dashboard_check = get_option( \'main_dashboard_check\', \'default_value\' );
var_dump( $main_dashboard_check ); /* outputs \'default_value\' if the value does not exist */

?>

结束

相关推荐

使用SCSSPHP将主题定制器值编译为.SCSS文件,以便编译为CSS

我一直无法自动编译。将scss文件转换为我的主要WordPress样式。css文件。我正在使用Leafo的SCSSPHP脚本,并试图实现一些功能。我在用Kirki(http://kirki.org/) 覆盖WordPress主题定制器,这就是我要做的。在主题定制器中创建我的面板/部分/设置,如字体大小/谷歌字体转换器/背景颜色等。。。当主题定制器中的值更改时,它会更新。scss文件,该文件将自动编译以显示用户所做的更改。我试图避免内联我的CSS,请不要激动,因为像X主题这样的主题会这样做,Redux框架也