我需要在 WordPress 中提交的任何表单上保留我的自定义获取参数。例如,我有像/wp-admin/post.php?post=493&action=edit&foo=bar 这样的后期编辑 然后我单击更新并消失,url 中没有 foo。
我什至将 ?foo=bar 添加到 action='post.php' 中,但仍然没有。我还将 foo 添加到 public query_vars 。我搜索了很多,没有发现与此问题相关的任何内容。有没有办法做我想做的事?我可以使用 javascript/jquery 来操作表单。
最佳答案
我看到您已经使用 $_SESSION
解决了这个问题,但是对于任何其他需要这种功能并且由于任何原因不能使用 session 的人来说,这也是一个选择:
<form action="post.php?<?= http_build_query($_GET); ?>">
它看起来有点难看,但它会将任何 _GET 参数重复到操作中。
为了测试,我用这种有点糟糕的方式将所有东西放在一起:
<form method="post" action="?<?= http_build_query($_GET);?>&<?= http_build_query($_POST);?>">
<label> Test<input name="<?= time() ?>"></label>
</form>
注意:您必须提交几次才能开始出现在 url 中,因为第一次提交是在 POST
中,然后在第二次中添加到 GET
邮政。 (它看起来总是落后一个,但如果你看一下 html,它就会是正确的)。
最后说明:所有参数通过 get, post and/or cookie 发送, 在 $_REQUEST
中可用。
关于php - 在 WordPress 中通过 POST 请求保留自定义 GET 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30397253/