Проблема с JSON в WordPress 3.0
Я использую плагин Media Finder, который отлично работал в WordPress 2.9, но после обновления до WordPress 3.0 библиотека json sans eval, которую использует плагин, перестала работать.
Не уверен, какие изменения были внесены в ядро WordPress при обновлении с 2.9 до 3.0 в части работы с JSON.
Вот скриншот того, что выводит Firebug в Firefox — JSON фактически парсится, но не отображается. (Media Finder позволяет искать видео через медиабиблиотеку в записях)
Поскольку json sans eval не проходит валидацию, возможно WordPress 3.0 его не поддерживает.
Вот ссылка на плагин:
http://wordpress.org/extend/plugins/media-finder/
Вот скриншот ошибки в плагине:
https://i.sstatic.net/3jZVa.jpg
Любая помощь будет спасением. Или хотя бы подсказка, как конвертировать код с json sans eval на json2.js, который теперь встроен в WordPress.
Код, который нужно конвертировать на json2, это строка:
xhr = $.post(ajaxurl, params, function(data) {
data = jsonParse(data);

Когда я закомментировал строку:
@header('Content-type: application/json; charset=UTF-8');
у меня заработало
P.S.
- там также есть
закрывающий phpоткрывающий тег без слова php - внизу есть закрывающий php тег, который можно убрать
- есть уведомление о неопределенном индексе.
- лучше было бы использовать $charset = get_option('blog_charset');
Я не знаю, связано ли это: http://wordpress.org/support/topic/plugin-json-api-content-length-header с моей проблемой, или это: http://core.trac.wordpress.org/ticket/11537, или это: http://wordpress.org/support/topic/wordpress-gone-wild?replies=3, не разбирался в этом.

просто обратил внимание, так как это может раздражать: "там также есть закрывающий php-тег без слова php" -> закрывающие php-теги никогда не содержат слово php. это просто ?>

извините... я имел в виду открывающий тег (вторая строка сбила меня с толку), проверьте код плагина (заметил это, потому что он не работал на моем сервере, пришлось добавить "php")
