所以我设法解决了headers working properly 在我的主题中,但我有一个关于选项的新问题。
我有以下三段代码,它们按照粘贴顺序工作:
Peice 1
我们所做的就是捕获您点击重置按钮,调用重置功能,当我们返回时,如果选项aisis\\U reset设置为“true”,我们将呈现一条消息,然后将选项更新为false。非常简单。
$theme = AisisCore_Factory_Pattern::create(\'AisisCore_Template_Builder\');
if(isset($_POST[\'aisis_reset\'])){
$theme->reset_theme_options();
}
$options = get_option(\'aisis_reset\');
if($options == \'true\'){
echo \'<div class="alert alert-success"><strong>SUCCESS!!!!</strong> All Options have been reset! You can start again!</div>\';
update_option(\'aisis_reset\', \'false\');
}
piece 2
我们要做的就是说,我们是否有多个选项,如果有,请删除每个选项,将选项更新为“true”并重定向,否则如果只有一个选项,请删除它,更新选项并重定向。重定向是通过获取页面的当前url并实质上重定向到它来完成的。(IMO优于JS重定向。)
public function reset_theme_options(){
if(isset($this->_theme_option[\'admin_options\'])){
foreach($this->_theme_option[\'admin_options\'] as $option_name=>$value){
if($value != false){
delete_option($option_name);
}
}
$this->_update_option();
$http = new AisisCore_Http_Http();
wp_safe_redirect($http->get_current_url());
}else{
delete_option($this->_options[\'admin_options\']);
$this->_update_option();
$http = new AisisCore_Http_Http();
wp_safe_redirect($http->get_current_url());
}
}
piece 3 (final)
目前,我已经在测试中硬编码了一个选项。我们所要做的就是说这个选项存在吗?否,创建它并将其设置为true,否则将其设置为true。
protected function _update_option(){
if(get_option(\'aisis_reset\')){
$option = get_option(\'aisis_reset\');
update_option(\'aisis_reset\', \'true\');
}else{
add_option(\'aisis_reset\', \'true\');
}
}
因此,有了这些:
为什么在“重定向”选项aisis\\U reset时,从不==“true”?这总是错误的。是因为我正在重定向吗?我假设如果在重定向之前保存该选项,那么一切都很好
最合适的回答,由SO网友:david.binda 整理而成
也许稍微调试一下会有所帮助。在你的第一件作品中试试这个
$theme = AisisCore_Factory_Pattern::create(\'AisisCore_Template_Builder\');
if(isset($_POST[\'aisis_reset\'])){
$theme->reset_theme_options();
}
$options = get_option(\'aisis_reset\');
print_r( $options ); //outputs $options value
wp_die(); //will halt further process
if($options == \'true\'){
echo \'<div class="alert alert-success"><strong>SUCCESS!!!!</strong> All Options have been reset! You can start again!</div>\';
update_option(\'aisis_reset\', \'false\');
}
你得到了什么价值?