Generando un API en JSON con WordPress

Generando un API en JSON con WordPress

Dos técnicas diferentes para crear un API en JSON para mostrar data generada por un WordPress y poder usarla en cualquier aplicación.

6ba65e44abea73ee048e9e9384cdf330?s=128

Braulio Aquino

February 22, 2014
Tweet

Transcript

  1. @braulioaquino Generando un API en JSON con WordPress

  2. Un API permite compartir algo para ser utilizado por otra

    cosa. ¿Qué es y para qué sirve un API?
  3. Es un formato para mostrar e intercambiar datos. ¿Qué es

    JSON?
  4. None
  5. Sí ¿Se puede usar WP para alimentar una data que

    genera un JSON que lee una aplicación?
  6. (tal vez al final) Existe un Plugin para eso,
 pero

    no te lo voy a contar.
  7. Todo en functions.php API en JSON de la forma
 midominio.com/permalink/json/

  8. midominio.com/permalink/json/ add_action( 'init', 'json_endpoint' );
 
 function json_endpoint() { 


    add_rewrite_endpoint( 'json', EP_PERMALINK );
 }
  9. midominio.com/permalink/json/ add_filter( 'request', 'json_404' );
 
 function json_404( $vars )

    {
 if( isset( $vars['json'] ) ) $vars['json'] = true;
 return $vars;
 }
  10. midominio.com/permalink/json/ add_action( 'template_redirect', 'json_rewrite' );
 
 function json_rewrite() {
 if(

    is_singular() && get_query_var( 'json' ) ) {
 $post = get_queried_object();
 $out = array(
 'title' => $post->post_title,
 'content' => $post->post_content
 );
 header('Content-Type: text/plain');
 echo json_encode( $out );
 exit();
 }
 }
  11. midominio.com/permalink/json/

  12. midominio.com/permalink/json/

  13. Todo en functions.php API en JSON de la forma
 midominio.com/feed/json/

  14. midominio.com/feed/json/ add_action( 'init', 'json_feed' );
 
 function json_feed() { 


    add_feed( 'json', 'rewrite_json_feed' );
 }
  15. midominio.com/feed/json/ function rewrite_json_feed() {
 $posts = get_posts();
 $out = array();


    foreach( $posts as $p ) {
 $out[] = array(
 'title' => $p->post_title,
 'content' => $p->post_content
 );
 }
 header('Content-Type: text/plain');
 echo json_encode( $out );
 }
  16. None
  17. None
  18. None
  19. None
  20. @braulioaquino ! braulioaquino@gmail.com Generando un API en JSON con WordPress