WordPress中的hook(钩子)是一种机制,允许开发者在特定的时间点或事件发生时执行自己的代码。admin_post_{$action}是一种特殊的hook,用于处理通过POST方法提交的表单数据。
使用admin_post_{$action}的步骤如下:
1. 首先,在主题的functions.php文件中使用add_action()函数来注册hook。例如,如果要处理名为"my_custom_action"的表单提交,则可以使用以下代码:
add_action('admin_post_my_custom_action', 'my_custom_action_handler');
2. 创建一个名为my_custom_action_handler的函数,用于处理表单提交的数据。例如:
function my_custom_action_handler(){
// 在这里执行你的代码
}
3. 在my_custom_action_handler函数中,可以通过检查$_POST数组来获取表单提交的数据。例如,如果表单中有一个名为"username"的字段,则可以使用以下代码获取该字段的值:
$username = $_POST['username'];
4. 在my_custom_action_handler函数中,可以执行任何自己的代码,例如保存数据到数据库、发送电子邮件等。
5. 最后,在表单的HTML代码中,将表单的action属性设置为admin-post.php,并将表单的隐藏字段设置为action的值。例如,如果表单的action为my_custom_action,则可以使用以下代码:
<form method="post" action="">
通过以上步骤,当用户提交表单时,WordPress将会调用my_custom_action_handler函数,并将表单的数据作为$_POST数组传递给它。开发者可以在函数中处理表单数据,并执行自己的操作。
需要注意的是,使用admin_post_{$action}只能在后台执行,如果需要在前台执行,可以使用类似的hook admin_post_nopriv_{$action}。
0 个评论