Поддержка Проблемы и решения Ломается html внутри json

  • Решено liong

    (@liong)


    Выполняю:

    wp_send_json(['msg' => '<li>Hello world</li>'], 200);

    или

    header('Content-Type: application/json');
    ob_clean();
    echo json_encode(['msg' => '<li>Test</li>']);
    die();

    Ожидание (результат на чистом php):
    {"msg":"<li>Hello world<\/li>"}

    Получаю (при вызове внутри wp):
    {"msg":"<li>Hello world"}</li>

    На чистом php все работает правильно. Но внутри wp видимо какой то фильтр не находит закрывающего тега li и пытается это починить но в итоге ломает. Как называется этот фильтр и как его отключить ?

    • Тема изменена 1 год назад пользователем liong.
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Юрий

    (@yube)

    На WP 5.6.6 на выходе честное

    {"msg":"<li>Hello world<\/li>"}
    

    Более свежего вордпресса для опытов сейчас под руками, увы, нет.

    upd На 5.8.2 тоже {"msg":"<li>Hello world<\/li>"}. Видимо, «вредитель» у Вас локальный.

    • Ответ изменён 1 год назад пользователем Юрий. Причина: дополнил
    Автор liong

    (@liong)

    Нашел причину — был конфликт с одним из плагинов.

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Ломается html внутри json» закрыта для новых ответов.