我需要在 wordpress 前端触发 ajax 请求以获得一些自定义响应。假设以 JSON 格式获取下一个/上一个 post-ID。在生产环境中,htaccess 的 http 请求无法访问 wp-admin 目录。
解决这个问题的最佳实践是什么?
因为AJAX已经用在WordPress的后端了,基本上已经为你实现了。您需要做的就是使用可用的功能。在深入研究代码之前,让我们看一下一般的过程。
每个 AJAX 请求都通过 wp-admin 文件夹中的 admin-ajax.php 文件。这个文件被命名为 admin-ajax 可能有点令人困惑。我非常同意,但这就是开发过程的结果。因此,我们应该将 admin-ajax.php 用于后端和面向用户的 AJAX。
每个请求都需要提供至少一条数据(使用 GET 或 POST 方法),称为操作。基于此操作,admin-ajax.php 中的代码创建了两个挂钩,wp_ajax_my_action 和 wp_ajax_nopriv_my_action,其中 my_action 是 GET 或 POST 变量操作的值。
向第一个钩子添加一个函数意味着如果登录用户启动该操作,该函数将触发。使用第二个钩子,您可以分别迎合注销的用户。