我根据找到的一些教程,使用设置API构建了一个选项卡式选项页面。这是代码http://pastebin.com/bbSnhFP5 . 事实上,这一切对我来说都很好,但并不理想,我相信有更好的方法可以解决。
问题是当我使用this 教程作为基础,并对其进行了调整以供使用add_settings_section()
和add_settings_field()
调用后,我得到了使用register_setting()
(与可能相反add_theme_page()
) 区分选项卡(本教程就是这样做的)。这意味着我必须使用do_settings_fields()
打印字段而不是do_settings_sections()
因为do_settings_sections()
打印整个选项页(由定义add_theme_page()
) 在每个选项卡上。
最终的结果是,虽然我需要add_settings_section()
呼叫(因为我正在使用do_settings_section()
) 因此,我需要为他们提供回调,回调实际上不能做任何事情,因为据我所知,打印这些回调的唯一方法是使用do_settings_sections()
这是我无法使用的,所以我好像错过了什么。
作为一种黑客行为,我使用switch语句允许我在每页的开头放一些文本,但我觉得必须有更好的方法来做到这一点,并且允许每个选项卡有多个部分。
有人能补充什么吗?