设置API中的复选框有问题

时间:2018-10-09 作者:danny471

我正在尝试创建一个简单的复选框设置,用于在主题设置页面中打开或关闭博客文章中的某个部分。

不幸的是,它没有保存复选框设置。我选中该框,当我刷新页面时,它再次被取消选中。未保存设置或checked 函数不工作。我错过什么了吗?

function theme_option_settings(){
    register_setting( \'prev-next-setting\', \'prev-next\' );
    add_settings_section( \'blog-section\', \'Blog Section\', \'change_blog_layout_section\', \'theme-options\' );
    add_settings_field( \'show-prev-next\', \'Show Previous/Next Post Section\', \'show_prev_next_field\', \'theme-options\', \'blog-section\' );
}

function change_blog_layout_section(){
    echo "Change the blog layout section";
}

function show_prev_next_field(){
    echo get_option( \'prev-next\' );
    echo "<input type=\'checkbox\' id=\'prev-next\' name=\'prev-next\' value=\'1\' ".checked(1, get_option(\'prev-next\'), true)."/>";
}

1 个回复
SO网友:danny471

我设法弄明白了。这是因为在我输出表单的模板页面上,我忘记了包含settings_fields 函数,因此未保存设置。我在该页面中添加了以下代码,然后就成功了:

<?php settings_fields(\'prev-next-setting\'); ?>

结束

相关推荐

是否以编程方式取消序列化WP_OPTIONS选项?

我需要以编程方式取消wp\\U选项的序列化。我正在创建一个Java应用程序来更改数据库信息,例如wp\\u选项上的一些选项,这样我就不需要访问面板来进行更改。如何取消序列化选项,如 a:4:{i:0;s:5:\"posts\";i:1;s:5:\"pages\";i:2;s:4:\"tags\";i:3;s:10:\"categories\";} 或 a:1:{s:12:\"_multiwidget\";i:1;} 更改它们并重新序列化到数据库?谢谢