Описание heartbeat_nopriv_send
— Action
Хук heartbeat_nopriv_send позволяет выполнять действия при отправке данных через систему Heartbeat API для неавторизованных пользователей. Он срабатывает при каждом запросе Heartbeat от клиента, что позволяет разработчикам добавлять собственную логику обработки данных или изменять ответ сервера
Примеры использования
Пример добавления кастомного сообщения в ответ Heartbeat для неавторизованных пользователей:
add_action('heartbeat_nopriv_send', function($response) {
$response['message'] = 'Привет, неавторизованный пользователь!';
return $response;
});
В этом примере мы изменяем сообщение, отправляемое клиенту, на кастомное приветствие
Пример добавления пользовательских данных в ответ Heartbeat:
add_action('heartbeat_nopriv_send', function($response) {
$response['custom_data'] = array('time' => current_time('mysql'));
return $response;
});
Здесь мы добавляем текущее время в качестве пользовательских данных в ответ Heartbeat
Пример изменения статуса ответа в зависимости от условий:
add_action('heartbeat_nopriv_send', function($response) {
if (some_condition()) {
$response['status'] = 'error';
$response['message'] = 'Произошла ошибка';
}
return $response;
});
Мы изменяем статус на ‘error’, если выполняется определенное условие
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо обработать запросы Heartbeat от неавторизованных пользователей, например, для отправки кастомных данных или сообщений
– Производительность
Поскольку Heartbeat API может вызывать множество запросов, убедитесь, что обработка данных оптимизирована и не вызывает задержек
– Предупреждения
Следите за тем, чтобы не отправлять слишком много данных в ответ, так как это может повлиять на производительность
Альтернативы
Тип: action
Этот хук аналогичен, но срабатывает для авторизованных пользователей
Используйте его, когда вам необходимо обработать Heartbeat запросы только для авторизованных пользователей