I am working on getting multiple functions to work with wp_ajax_
and the first two functions fire just fine. However I have the need for a completely new query that will take advantage of AJAX also.
- Should I beef up my first function with conditionals? Or
- Can I
init
more than onewp_ajax_
function like my code below?
My code so far:
add_action( 'init', 'my_ajax_init' );
function my_ajax_init() {
add_action('wp_ajax_nopriv_wpa56343_search', 'my_ajax_search');// works
add_action('wp_ajax_wpa56343_search', 'my_ajax_search'); // works
add_action('wp_ajax_nopriv_nogeo_results', 'nogeo_search'); // does not
add_action('wp_ajax_nogeo_results', 'nogeo_search'); // does not
}
my_ajax_search
is functioning fine with my JS AJAX calls. nogeo_search
is not. My question is - is what I am doing to declare my ajax functions correct? If it is not correct please explain how to use wp_ajax_
with multiple callback functions.
I am working on getting multiple functions to work with wp_ajax_
and the first two functions fire just fine. However I have the need for a completely new query that will take advantage of AJAX also.
- Should I beef up my first function with conditionals? Or
- Can I
init
more than onewp_ajax_
function like my code below?
My code so far:
add_action( 'init', 'my_ajax_init' );
function my_ajax_init() {
add_action('wp_ajax_nopriv_wpa56343_search', 'my_ajax_search');// works
add_action('wp_ajax_wpa56343_search', 'my_ajax_search'); // works
add_action('wp_ajax_nopriv_nogeo_results', 'nogeo_search'); // does not
add_action('wp_ajax_nogeo_results', 'nogeo_search'); // does not
}
my_ajax_search
is functioning fine with my JS AJAX calls. nogeo_search
is not. My question is - is what I am doing to declare my ajax functions correct? If it is not correct please explain how to use wp_ajax_
with multiple callback functions.
- I cannot get any code to format above. So sorry – Ben Racicot Commented Aug 13, 2013 at 21:09
- The markdown (among other things) sometimes has trouble with code that follows a list. I added a line of "normal" text to force it to behave. – s_ha_dum Commented Aug 13, 2013 at 21:47
- Your code is fine. The second question is a matter of preference and the first (and last) are not answerable, in my opinion, without more information. – s_ha_dum Commented Aug 13, 2013 at 21:51
- The conditional question was based on if using multiple wp_ajax_ functions is a bad idea. I'd be forced to send extra post vars etc to conditional my existing query. Having trouble getting all this to output... Thanks for the good answers. – Ben Racicot Commented Aug 13, 2013 at 23:29
- 1 Mean? No idea what you mean. Your question/problem is not clear to me. – s_ha_dum Commented Aug 14, 2013 at 0:01
1 Answer
Reset to default 2I was able to get multiple wp_ajax_ functions to declare callback functions like this:
add_action( 'init', 'my_ajax_init' );
function my_ajax_init() {
add_action('wp_ajax_nopriv_wpa56343_search', 'first_search');
add_action('wp_ajax_wpa56343_search', 'first_search');
}
add_action( 'init', 'my_ajax_no_geo_init' );
function my_ajax_no_geo_init() {
add_action('wp_ajax_nopriv_nogeo_results', 'second_search');
add_action('wp_ajax_nogeo_results', 'second_search');
}