Estamos haciendo pruebas con JSON API en WordPress y nos dimos cuenta que la propiedad del post thumbnail (imagen destacada) falla (siempre da null).
Investigando un poco se ve que la imagen destacada depende de la propiedad postmeta _thumbnail_id. Por lo que habrá que enlazar el post actual con el post de tipo attachment con ID _thumbnail_id y obtener el guid que contiene la ruta a la imagen thumbnail (imagen destacada).
No sé si es una ñapa, pero para arreglarlo me metí en el código y lo modifiqué de la siquiente manera en el fichero www.example.com/wp-content/plugins/json-api/models/post.php:
function set_thumbnail_value() {
global $json_api;
if (!$json_api->include_value(‘thumbnail’) ||
!function_exists(‘get_post_thumbnail_id’)) {
unset($this->thumbnail);
return;
}
$attachment_id = get_post_thumbnail_id($this->id);
if (!$attachment_id) {
unset($this->thumbnail);
return;
}
$thumbnail_size = $this->get_thumbnail_size();
$this->thumbnail_size = $thumbnail_size;
$attachment = $json_api->introspector->get_attachment($attachment_id);
$image = $attachment->images[$thumbnail_size];
$this->thumbnail = $image->url;
//BEGIN
if(!$this->thumbnail) $this->thumbnail = $this->get_other_thumbnail_value($this->id);
//END
$this->thumbnail_images = $attachment->images;
}### BEGIN ###
function get_other_thumbnail_value($thumbnail_id) {
$attachment_id = get_post_meta($thumbnail_id, «_thumbnail_id», true);
return get_post($attachment_id)->guid;}
### END ###
1 comentario