我正在创建一个带管理面板的插件来保存配置,来自<form action="url" method="post">
的网址与显示面板相同,我需要检查请求方法类型,我需要调用save
函数,如果请求类型为POST
,则显示该面板。
目前我正在用这种方式检查:
if($_SERVER['REQUEST_METHOD'] === 'POST') { }
所以我的代码是这样的:
add_action('admin_menu', 'menu');
function menu() {
add_menu_page('MyPlugin', 'manage_options', 'menu_item_id', 'load_page');
}
function load_page() {
if($_SERVER['REQUEST_METHOD'] === 'POST') {
// call the save function.
}
// print admin panel HTML here.
}
我只是想知道这是否是WP解决问题的最佳方式,因为对我来说似乎不是优雅的。
WordPress有一些官方方式来检查请求方法吗?或者我应该将表单请求发送到另一个URL,并在保存数据后重定向到原始页面?