如何实现Post-Redirect - 获取Wordpress插件的管理菜单页面?

Pel*_*eon 4 wordpress redirect post-redirect-get wordpress-plugin

我正在写一个Wordpress插件,它添加了一个管理菜单页面.在页面中是一个表单.提交表单时,插件会写入数据库.但后来我遇到了一个问题:每当用户重新加载页面时,都会询问他/她是否再次发送POSTDATA.如果用户单击"是",则插件会再次写入数据库.

经过一番搜索,我找到了一个解决方案,即"Post-Redirect-Get"模式.然后,我发现很难将这种模式实现到Wordpress插件中.

  1. 插件本身无法发送HTTP 301/302,因为Wordpress核心已经输出了一些内容.

  2. 可以在HTML头中插入元标记(以便发出重定向).但据W3C称,元重定向已被弃用,因此我认为最好不要使用它.

  3. 使用JavaScript window.location.但是如果在用户的浏览器中禁用了JavaScript呢?

有没有其他方法来实现重定向?

blo*_*ead 8

您可以尝试在admin_init钩子中执行插件的处理,我相信,在输出任何内容之前运行它.