#26: heartbeat_nopriv_received

The heartbeat_nopriv_received filter allows you to modify the Heartbeat response data in no-privilege — that is, non-logged-in AJAX situations such as for use on the front-end.

It was added in 3.6.

It is evaluated in wp_ajax_nopriv_heartbeat() in the wp-admin/includes/ajax-actions.php file.

heartbeat_nopriv_received accepts 3 arguments:

  1. array|object $response The nopriv Heartbeat response.
  2. array $data An array of data passed via $_POST.
  3. string $screen_id The screen id.


The following example is based on a Heartbeat example Gist written by Jason Coleman and kindly suggested by jsternberg in the comments.

It modifies the $response value to return a ‘marco polo’ scenario showing the server “responding” to the AJAX call. Thanks to for the suggestion!

View the code example on Gist.

Have a suggested improvement? You can fork the Gist and comment back with the link. If all is agreeable, I’ll merge in your changes. Crowd-sourced documentation FTW!

2 thoughts on “#26: heartbeat_nopriv_received

    • Excellent. I’ve adapted and updated Jason’s example and added it to the post. Thanks for the suggestion!

Leave a Reply

Your email address will not be published. Required fields are marked *