Problema con JSON en WordPress 3.0
Estoy utilizando el plugin Media Finder que funciona bien en WordPress 2.9, pero desde WordPress 3.0, la biblioteca json sans eval que usa el plugin ya no funciona.
No estoy seguro de qué cambios hubo en el núcleo de WordPress entre la versión 2.9 y 3.0 en relación con JSON.
Aquí hay una captura de pantalla de lo que muestra Firebug en Firefox, el JSON real se analiza pero no se muestra. (Media Finder te permite buscar videos a través del administrador de medios en tus publicaciones)
Como json sans eval no es validado, no estoy seguro si a WordPress 3.0 no le gusta eso.
Aquí está la URL del plugin:
http://wordpress.org/extend/plugins/media-finder/
Aquí está la captura de pantalla del error en el plugin:
https://i.sstatic.net/3jZVa.jpg
Cualquier ayuda sería un salvavidas, o incluso saber qué se necesita para convertir el código de json sans eval a json2.js que ahora viene empaquetado con WordPress.
El código que necesitaría ser convertido a json2 sería la línea:
xhr = $.post(ajaxurl, params, function(data) {
data = jsonParse(data);

Cuando comento la línea:
@header('Content-type: application/json; charset=UTF-8');
funciona para mí
P.D.:
- también hay una etiqueta de
cierre phpapertura sin la palabra php - hay una etiqueta de cierre php al final que puede eliminarse
- hay un aviso sobre un índice no definido.
- sería mejor usar $charset = get_option('blog_charset');
No tengo idea si esto: http://wordpress.org/support/topic/plugin-json-api-content-length-header tiene algo que ver con ello, o esto: http://core.trac.wordpress.org/ticket/11537 o esto: http://wordpress.org/support/topic/wordpress-gone-wild?replies=3, no me he sumergido en ello.

solo un comentario, ya que podría ser confuso: "también hay una etiqueta de cierre de php sin la palabra php" -> las etiquetas de cierre de php nunca tienen la palabra php. es solo ?>

perdón... me refería a la etiqueta de apertura (la segunda línea me confundió), revisa el código del plugin (lo noté porque falló al ejecutarse en mi servidor, tuve que agregar "php")

vaya, bueno, esto es algo que el autor del plugin debería corregir. es algo que todos deberíamos hacer en código compartido: agregar el php en las etiquetas de apertura ya que la versión corta (sin php) no funciona en todos los servidores. Esto es realmente algo que se le debería notificar al autor del plugin.
