我希望单击按钮才能在页面加载之前触发功能。我已将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
。我希望表单提交详细信息,运行功能并刷新页面。
感谢您的帮助。
答案 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');
}