wp_ajax_nopriv_(action)
Fires during a WordPress AJAX request for a user who is NOT logged in. This is a request to /wp-admin/admin-ajax.php.
(action) is the dynamic part of the hook where the AJAX action name must be specified. This name must be passed as the GET|POST parameter action in the AJAX request to /wp-admin/admin-ajax.php. A hook that handles the AJAX request must also be created using this name.
wp_ajax_(action) is a similar event for logged-in users. The linked article explains in more detail how this event works.
Usage
add_action( 'wp_ajax_nopriv_(action)', 'wp_kama_ajax_nopriv_action' );
/**
* Function for `wp_ajax_nopriv_(action)` action-hook.
*
* @return void
*/
function wp_kama_ajax_nopriv_action(){
// action...
}
Examples
#1 Usage example
Changelog
| Since 2.8.0 | Introduced. |
Where the hook is called
In file: /wp-admin/admin-ajax.php
wp-admin/admin-ajax.php 207
do_action( "wp_ajax_nopriv_{$action}" );
Where the hook is used in WordPress
wp-admin/admin-ajax.php 169
add_action( 'wp_ajax_nopriv_generate-password', 'wp_ajax_nopriv_generate_password' );
wp-admin/admin-ajax.php 171
add_action( 'wp_ajax_nopriv_heartbeat', 'wp_ajax_nopriv_heartbeat', 1 );