The heartbeat_nopriv_tick WordPress action fires when the Heartbeat ticks in no-privilege environments, allowing the transport to be easily replaced with long-polling.
Usage
add_action('heartbeat_nopriv_tick', 'your_custom_function', 10, 2); function your_custom_function($response, $screen_id) { // your custom code here return $response; }
Parameters
$response
(array): The no-priv Heartbeat response.$screen_id
(string): The screen ID.
More information
See WordPress Developer Resources: heartbeat_nopriv_tick
Examples
Modify response for a specific screen ID
Modify the Heartbeat response for a specific screen ID in no-privilege environments.
add_action('heartbeat_nopriv_tick', 'modify_heartbeat_response', 10, 2); function modify_heartbeat_response($response, $screen_id) { if ($screen_id == 'my_screen_id') { // Modify the response for 'my_screen_id' $response['my_key'] = 'my_value'; } return $response; }
Add custom data to the Heartbeat response
Add custom data to the Heartbeat response in no-privilege environments.
add_action('heartbeat_nopriv_tick', 'add_custom_data', 10, 2); function add_custom_data($response, $screen_id) { // Add custom data to the Heartbeat response $response['custom_data'] = 'Your custom data'; return $response; }
Log Heartbeat ticks for no-privilege environments
Log Heartbeat ticks for no-privilege environments.
add_action('heartbeat_nopriv_tick', 'log_heartbeat_ticks', 10, 2); function log_heartbeat_ticks($response, $screen_id) { // Log Heartbeat ticks to a file file_put_contents('heartbeat_ticks.log', "Screen ID: $screen_id - " . date('Y-m-d H:i:s') . "\n", FILE_APPEND); return $response; }
Clear cache on Heartbeat tick
Clear cache for a specific screen ID on Heartbeat tick in no-privilege environments.
add_action('heartbeat_nopriv_tick', 'clear_cache_on_tick', 10, 2); function clear_cache_on_tick($response, $screen_id) { if ($screen_id == 'my_screen_id') { // Clear cache for 'my_screen_id' wp_cache_delete('my_cache_key'); } return $response; }
Send notifications on Heartbeat tick
Send notifications to users on Heartbeat tick in no-privilege environments.
add_action('heartbeat_nopriv_tick', 'send_notifications', 10, 2); function send_notifications($response, $screen_id) { // Send notifications to users // Replace with your custom notification logic your_custom_notification_function(); return $response; }