WordPress利用事件驱动的体系结构,广泛利用操作和过滤器来动态修改程序执行和内容。 这允许对POST请求进行复杂的处理,主要是通过admin-post.php
>目录中的wp-admin
>文件。 表格提交在此处指向,以实现集中处理。
>本文演示了从联系表,处理数据并重定向用户的邮政请求。 假定对WordPress插件API的基本熟悉。
> 理解admin-post.php
admin-post.php
有效地处理帖子和获取请求。 至关重要的是,它会根据用户登录状态触发不同的操作钩子:admin_post
>。 更具体的动作,例如admin_post_nopriv
>,可以进行颗粒状控制。admin_post_{$action}
>
>
实现联系表格
最初在页面模板中处理的简单联系表被重构以利用。 表单的admin-post.php
属性已更新为action
,并添加了带有名称admin-url('admin-post.php')
的隐藏输入字段,并添加了一个值(例如,action
)。 这将提交引入正确的处理程序。contact_form
处理邮政请求>
在主题的>或专用插件中处理后请求。 为简单起见,我们将使用functions.php
。 操作挂钩functions.php
和admin_post_nopriv_contact_form
用于触发自定义功能(例如,admin_post_contact_form
),该功能对帖子数据进行了消毒,生成电子邮件内容并发送电子邮件。 该功能被称为不管用户的登录状态如何。prefix_send_email_to_admin
结论
>提供了一种可靠且有组织的方法,用于处理WordPress中的POST请求。 这种关注的分离增强了代码可维护性和可读性,促进了WordPress开发中的最佳实践。
admin-post.php
> 提供的常见问题解答部分仍然相关,并准确地解决了有关处理WordPress环境中发布请求的常见问题。 本节不需要更改。
以上是处理帖子请求WordPress方式的详细内容。更多信息请关注PHP中文网其他相关文章!