wp_send_json_success()
Повертає дані JSON. Використовується для повернення успішних відповідей у запитах AJAX. Відповідь завжди міститиме елемент success=true . Обриває роботу PHP скрипта (die).
wp_send_json_error() — аналогічна функція, що тільки використовується для повернення помилок, а не успішних відповідей.
Працює на основі:
wp_send_json()
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 | $status_code parameter був added. |
З версії 5.6.0 | The $options parameter був added. |
Код wp_send_json_success() wp send json success WP 6.0.2
function wp_send_json_success( $data = null, $status_code = null, $options = 0 ) { $response = array( 'success' => true ); if ( isset ( $ data ) ) { $response['data'] = $data; } wp_send_json($response, $status_code, $options); }