Функция WP_SEND_JSON_SUCCESS() в WordPress
Функция wp_send_json_success()
была добавлена в версии 3.5.0. Она используется для отправки успешного ответа в формате JSON на AJAX-запрос. В ответе всегда будет элемент success
со значением true
. После выполнения этой функции происходит завершение выполнения PHP-скрипта.
Параметры функции
Возвращаемое значение
Функция ничего не возвращает (null). Она выводит данные в формате JSON и завершает выполнение PHP.
Данные, переданные в параметр $data
, будут добавлены в ответ:
// Пример возвращаемых данных до кодирования в JSON:
$response = array('success' => true); // если $data не передан
$response = array('success' => true, 'data' => $data); // если $data передан
Использование функции
wp_send_json_success($value, $status_code, $flags);
- $value (mixed) – данные, которые нужно закодировать в JSON, а затем вывести и завершить выполнение. По умолчанию: null.
- $status_code (int) – HTTP-код состояния, который нужно вывести. По умолчанию: null.
- $flags (int) – параметры, которые будут переданы в функцию
json_encode()
.
Примеры использования
Пример 1: Успешный AJAX-запрос
Данный код на jQuery отправляет AJAX-запрос к файлу плагина ajax/save_field.php
:
jQuery(document).ready(function($) {
$('#btn_save').click(function(e) {
e.preventDefault();
$.post(pluginUrl + 'ajax/save_field.php', $('#my-form').serialize(), function(json) {
if (json.success)
alert(json.data.message);
else
alert('Ошибка: ' + json.data);
});
});
});
Это код файла save_field.php
, который обрабатывает запрос. Здесь показано, как используется wp_send_json_success()
:
'Сохранено',
'ID' => 1
);
wp_send_json_success($return);
Изменения в версии
- С 3.5.0 – Функция была введена.
- С 4.7.0 – Добавлен параметр
$status_code
. - С 5.6.0 – Добавлен параметр
$flags
.
Код функции
Вот как выглядит встраиваемая функция wp_send_json_success()
:
function wp_send_json_success($value = null, $status_code = null, $flags = 0) {
$response = array('success' => true);
if (isset($value)) {
$response['data'] = $value;
}
wp_send_json($response, $status_code, $flags);
}
Похожие функции
Существует несколько функций, связанных с AJAX в WordPress:
- check_ajax_referer() – Проверяет корректность AJAX-запроса.
- wp_doing_ajax() – Проверяет, выполняется ли текущий запрос как AJAX.
- wp_json_encode() – Кодирует данные в формат JSON.
- wp_send_json() – Отправляет данные в формате JSON.
- wp_send_json_error() – Отправляет ошибку в формате JSON.
Эти функции полезны для работы с AJAX и JSON в WordPress.