wp_send_json_success()WP 3.5.0

Возвращает 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

Примеры

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 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 );
}