wordpress中的ajax:避免使用wp-admin

时间:2013-07-09 12:24:52

标签: ajax wordpress .htaccess

我需要在wordpress前端触发ajax请求才能获得一些自定义响应。让我们说以JSON格式获取下一个/上一个post-ID。 在生产环境中,htaccess的http请求无法访问wp-admin目录。

解决此问题的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

因为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变量操作的值。

向第一个挂钩添加一个函数意味着如果登录用户启动该操作,该函数将触发。使用第二个挂钩,您可以单独为已登出的用户提供服务。