Existen múltiples plugins que realizan esta tarea actualmente, por lo cual este post es para aquellas personas que deseen crear su propio feed JSON ó son fanáticos de “Hagalo Usted Mismo”.
¿Para que crear un feed JSON? Es posible que desees incluir un listado de los posts de tu blog en otro sitio web, para lo que normalmente se usa RSS ó ATOM, pero hacer un parser para estos formatos suele ser complicado y se transporta una gran cantidad de datos. En contraparte JSON es un formato muy ligero y que podemos manipular fácilmente con Java Script.
Ahora manos a la obra!
En primer lugar creamos un archivo de nombre wp-json.php en la raiz de nuestro blog(en donde se encuentra wp-config.php). Este archivo debe de contener lo siguiente:
-
<?php
-
if (empty($wp)) {
-
require_once('./wp-load.php');
-
wp('feed=json');
-
}
-
-
require (ABSPATH . WPINC . '/feed-json.php');
-
-
?>
A continuación creamos un archivo de nombre feed-json.php en la capeta wp-includes de nuestro blog. Este archivo debe de contener lo siguiente
-
<?php
-
header('Content-Type: application/json; charset=' . get_option('blog_charset'), true);
-
$more = 1;
-
-
$items = array();
-
query_posts("");
-
while (have_posts()) :
-
the_post();
-
$item = array(
-
"title" => get_the_title_rss(),
-
"link" => apply_filters('the_permalink_rss', get_permalink()),
-
"description" => apply_filters('the_excerpt_rss', get_the_excerpt()));
-
$items[] = $item;
-
endwhile;
-
-
$arr = array(
-
'title' => get_bloginfo_rss('name'),
-
'link' => get_bloginfo_rss('url'),
-
'description' => get_bloginfo_rss('description'),
-
'language' => get_option('rss_language'),
-
'item' => $items);
-
-
echo "".$HTTP_GET_VARS["callback"]."(".json_encode($arr).");";
-
?>
Finalmente para probar nuestro feed nos dirigimos a http://miblog.com/wp-json.php y veremos nuestro nuevo feed en JSON. Puedes encontrar más atributos para usar en WordPress.