wp_send_json_success()
Возвращает JSON данные. Используется для возврата успешных ответов в AJAX запросах. Ответ будет всегда содержать элемент success=true. Обрывает работу php скрипта (die).
wp_send_json_error() — аналогичная функция, только используется для возврата ошибок, а не успешных ответов.
Работает на основе: wp_send_json()
Хуков нет.
Возвращает
never. Выводит на экран JSON данные и обрывает работу php.
Если в параметр $data передать данные, то они будут добавлены:
// Вид возвращаемых данных, перед кодированием в JSON: $response = [ 'success' => true ]; // если $data не указан $response = [ 'success' => true, 'data' => $data ]; // если $data указан
Использование
wp_send_json_success( $data, $status_code, $options );
- $data(строка/массив/число/объект/логический)
- Данные, которые будут добавлены в результат в элемент массива data, перед кодирование в JSON.
По умолчанию: null - $status_code(число)
- HTTP статус код, который нужно установить. Какие бывают статус коды, смотрите здесь. C WP 4.7.
По умолчанию: null - $options(число) (WP 5.6)
- Опции которые будут переданы в функцию json_encode(). Битовая маска, составляемая из значений
JSON_FORCE_OBJECT,JSON_HEX_QUOT,JSON_HEX_TAG,JSON_HEX_AMP,JSON_HEX_APOS,JSON_INVALID_UTF8_IGNORE,JSON_INVALID_UTF8_SUBSTITUTE,JSON_NUMERIC_CHECK,JSON_PARTIAL_OUTPUT_ON_ERROR,JSON_PRESERVE_ZERO_FRACTION,JSON_PRETTY_PRINT,JSON_UNESCAPED_LINE_TERMINATORS,JSON_UNESCAPED_SLASHES,JSON_UNESCAPED_UNICODE,JSON_THROW_ON_ERROR. Смысл этих констант объясняется на странице JSON констант.
По умолчанию: 0
Примеры
#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',
$('#form').serialize(), function( json ){
if( json.success )
alert( json.data.message );
else
alert( 'Error' + json.data );
}
);
});
});
Это код файла save_field.php, который обрабатывает переданный запрос. Здесь показано, как использовать wp_send_json_success():
<?php // загрузка среды WP $return = [ 'message' => 'Сохранено', 'ID' => 1 ]; wp_send_json_success( $return );
Список изменений
| С версии 3.5.0 | Введена. |
| С версии 4.7.0 | The $status_code parameter was added. |
| С версии 5.6.0 | The $flags parameter was added. |
Код wp_send_json_success() wp send json success WP 7.1
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 );
}