I need a conditional which exits if the context is not a front-end view including AJAX requests. I have this at the moment:
if (is_admin() && !DOING_AJAX) return;
DOING_AJAX bit is required since
true for ajax requests. However I believe
DOING_AJAX will be
true for ALL ajax requests including those on the backend. Thus it doesn't really add anything here.
How can I fork the two conditions? Can front-end/back-end ajax requests be distinguished?
Thanks for the insights but to clarify, in this instance, the hook itself is NOT an ajax action. It's a filter hook into
get_the_terms which needs to operate on any front-end request including any arbitrary theme or plugin ajax code. It also needs to bypass processing for the back-end hence the need for the forking condition. The problem is that ajax requests always return true for
In case you are curious it's a plugin which hides "secret" or "hidden" tags on the front-end, while still allowing their taxonomy pages to exist. The "hiding" needs to be bypassed on the backend for obvious reasons.
Thanks for the help. Sorry for the initial confusion!