防止前端表单按钮重定向到admin-post.php

时间:2018-06-30 15:42:59

标签: php wordpress

我希望单击按钮才能在页面加载之前触发功能。我已将global $current_user;添加到模板中。我正在进行本地设置。

我在page.php上的表格是:

<form method="post" action="<?php echo esc_url( admin_url('admin-post.php') ); ?>">
    <input type="hidden" name="action" value="send_user_id" />
    <input type="hidden" name="user-id" value="<?php echo $current_user->ID; ?>" />
    <button class="send-id" type="submit">Send ID</button>
</form>

我使用的功能如下,并且运行正常。

function post_user_id() {
    // Some Code
}
add_action( 'admin_post_nopriv_send_user_id', 'post_user_id' );
add_action( 'admin_post_send_user_id', 'post_user_id' );

我唯一的问题是单击按钮后,页面会重定向到http://localhost/wp-admin/admin-post.php。我希望表单提交详细信息,运行功能并刷新页面。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

从form标记中删除操作,然后您的表单将被重定向到同一页面。 现在您必须在顶部定义一个if条件:

if(isset[$_POST["submit"]{  //define a name for submit button
  //do whatever you wanted to do here i.e call a function.
  header('location:define your location where you wants this page to be redirected');
  }