Problema JSON în WordPress 3.0

13 nov. 2010, 17:08:11
Vizualizări: 303
Voturi: 2

Folosesc pluginul Media Finder care funcționează bine în WordPress 2.9, dar începând cu WordPress 3.0, biblioteca json sans eval pe care o utilizează pluginul nu mai funcționează.

Nu sunt sigur ce s-a schimbat în nucleul WordPress între versiunile 2.9 și 3.0 în ceea ce privește JSON.

Iată o captură de ecran cu ce afișează Firebug în Firefox - JSON-ul este parsat, dar nu este afișat. (Media Finder vă permite să căutați videoclipuri prin managerul media din postare).

Deoarece json eval sans nu este valid, nu sunt sigur dacă WP 3.0 nu-l acceptă.

Iată URL-ul către plugin:

http://wordpress.org/extend/plugins/media-finder/

Iată captura de ecran cu eroarea din plugin:

https://i.sstatic.net/3jZVa.jpg

Oricine poate ajuta ar fi un salvator, sau măcar să explice ce implică conversia codului de la json sans eval la json2.js cu care vine acum WordPress.

Codul care ar trebui convertit la json2.js ar fi linia:

xhr = $.post(ajaxurl, params, function(data) {
data = jsonParse(data);
0
Toate răspunsurile la întrebare 1
3

Când comentez linia:

@header('Content-type: application/json; charset=UTF-8');

funcționează pentru mine

p.s.

  1. există și un tag de închidere php deschidere fără cuvântul php
  2. există un tag de închidere php la final care poate fi eliminat
  3. există o notificare despre un index nedefinit.
  4. ar fi mai bine să folosești $charset = get_option('blog_charset');

Nu am idee dacă asta: http://wordpress.org/support/topic/plugin-json-api-content-length-header are vreo legătură, sau asta: http://core.trac.wordpress.org/ticket/11537 sau asta: http://wordpress.org/support/topic/wordpress-gone-wild?replies=3, nu am aprofundat.

13 nov. 2010 21:18:25
Comentarii

doar observ, pentru că ar putea fi deranjant: "există și un tag de închidere php în el fără cuvântul php" -> tag-urile de închidere php nu au niciodată cuvântul php în ele. este doar ?>

hakre hakre
18 nov. 2010 00:29:00

scuze... mă refeream la tag-ul de deschidere (a doua linie m-a derutat), verifică codul plugin-ului (am observat pentru că nu a funcționat pe serverul meu, a trebuit să adaug "php")

edelwater edelwater
18 nov. 2010 01:46:35

wow, ei bine, acesta este ceva ce autorul plugin-ului ar trebui să repare. este ceva ce toți dintre noi ar trebui să facem pentru codul partajat: adăugați php în tag-urile de deschidere deoarece versiunea scurtă (fără php) nu rulează pe fiecare server. Aceasta este cu adevărat ceva despre care autorul plugin-ului ar trebui să fie notificat.

hakre hakre
18 nov. 2010 02:26:17