wp_send_json_error
wp_send_json_error()
— это функция в WordPress, которая отправляет данные об ошибке в формате JSON обратно на клиентскую сторону в ответ на AJAX-запрос.
Вот пример использования wp_send_json_error()
:
В этом примере мы также регистрируем два действия wp_ajax_my_ajax_action
и wp_ajax_nopriv_my_ajax_action
, которые указывают на функцию обратного вызова my_ajax_callback
.
Внутри функции my_ajax_callback
мы сначала проверяем nonce с помощью check_ajax_referer()
, как и в предыдущих примерах.
Если проверка nonce успешна, мы выполняем обработку запроса. В примере представлено условие, которое проверяет наличие ошибки. Если условие ошибки истинно, мы создаем массив $error_data, который содержит данные об ошибке, включая сообщение и код ошибки.
Затем мы вызываем wp_send_json_error()
, передавая массив $error_data
. Функция wp_send_json_error()
преобразует этот массив в формат JSON и отправляет его обратно на клиентскую сторону с правильными заголовками, указывая тип контента как «application/json» и статус ответа 500 (внутренняя ошибка сервера).
Если условие ошибки ложно, мы продолжаем обработку запроса и, в примере, создаем массив $success_data, который содержит успешные данные, включая сообщение и данные результата.
Затем мы вызываем wp_send_json_success()
, передавая массив $success_data. Функция wp_send_json_success()
преобразует этот массив в формат JSON и отправляет его обратно на клиентскую сторону с правильными заголовками, указывая тип контента как «application/json» и статус ответа 200 (успешный ответ).
Обратите внимание, что после вызова wp_send_json_error()
или wp_send_json_success()
выполнение скрипта будет остановлено, поэтому необходимо убедиться, что после этих вызовов не выполняется никакой дополнительной обработки или вывода данных.