wp_send_json_success()
Возвращает JSON данные. Используется для возврата успешных ответов в AJAX запросах. Ответ будет всегда содержать элемент success=true. Обрывает работу php скрипта (die).
wp_send_json_error() — аналогичная функция, только используется для возврата ошибок, а не успешных ответов.
Работает на основе: wp_send_json()
Хуков нет.
Возвращает
null
. Выводит на экран JSON данные и обрывает работу php.
Если в параметр $data передать данные, то они будут добавлены:
// Вид возвращаемых данных, перед кодированием в JSON: $response = array( 'success' => true ); // если $data не указан $response = array( '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 = array( '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 6.6.2
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 ); }