Opened 11 years ago
Closed 11 years ago
#30143 closed enhancement (duplicate)
Using admin-ajax from the frontend
Reported by: |
|
Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | |
Component: | General | Keywords: | |
Focuses: | javascript, template, performance | Cc: |
Description
WP Ajax should not be used from the frontend because responses from admin-ajax.php
are not cached (including nocache_headers()
). Also, it has admin
and .php
in the URL.
Instead, we should add a query var, and then do the template_include
routine to select a template that returns JSON. This would also makes sites more RESTful.
I've put together a bit of an idea of how this should work here: https://gist.github.com/lukecarbis/6180629d7936d4b0a7eb
This routine is something that we could put in the docs, however, if parts of this were implemented in core it would make things a lot simpler for everyone.
My suggestion is to add wp_ajax_action
to the default query vars, and ajax callbacks inside the template loader (see the gist above for an example).
(props @westonruter for some help putting this together)
We have an older ticket where we have already been working on this issue and trying to come up with a secure solution - #12400