wp_ajax_nopriv_heartbeat()
Ajax handler for the Heartbeat API in the no-privilege context.
Description
Runs when the user is not logged in.
Source
File: wp-admin/includes/ajax-actions.php
function wp_ajax_nopriv_heartbeat() {
$response = array();
// screen_id is the same as $current_screen->id and the JS global 'pagenow'.
if ( ! empty($_POST['screen_id']) )
$screen_id = sanitize_key($_POST['screen_id']);
else
$screen_id = 'front';
if ( ! empty($_POST['data']) ) {
$data = wp_unslash( (array) $_POST['data'] );
/**
* Filters Heartbeat Ajax response in no-privilege environments.
*
* @since WP-3.6.0
*
* @param array|object $response The no-priv Heartbeat response object or array.
* @param array $data An array of data passed via $_POST.
* @param string $screen_id The screen id.
*/
$response = apply_filters( 'heartbeat_nopriv_received', $response, $data, $screen_id );
}
/**
* Filters Heartbeat Ajax response when no data is passed.
*
* @since WP-3.6.0
*
* @param array|object $response The Heartbeat response object or array.
* @param string $screen_id The screen id.
*/
$response = apply_filters( 'heartbeat_nopriv_send', $response, $screen_id );
/**
* Fires when Heartbeat ticks in no-privilege environments.
*
* Allows the transport to be easily replaced with long-polling.
*
* @since WP-3.6.0
*
* @param array|object $response The no-priv Heartbeat response.
* @param string $screen_id The screen id.
*/
do_action( 'heartbeat_nopriv_tick', $response, $screen_id );
// Send the current time according to the server.
$response['server_time'] = time();
wp_send_json($response);
}
Changelog
Version | Description |
---|---|
WP-3.6.0 | Introduced. |