Slide 1

Slide 1 text

@braulioaquino Generando un API en JSON con WordPress

Slide 2

Slide 2 text

Un API permite compartir algo para ser utilizado por otra cosa. ¿Qué es y para qué sirve un API?

Slide 3

Slide 3 text

Es un formato para mostrar e intercambiar datos. ¿Qué es JSON?

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Sí ¿Se puede usar WP para alimentar una data que genera un JSON que lee una aplicación?

Slide 6

Slide 6 text

(tal vez al final) Existe un Plugin para eso,
 pero no te lo voy a contar.

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

midominio.com/permalink/json/ add_filter( 'request', 'json_404' );
 
 function json_404( $vars ) {
 if( isset( $vars['json'] ) ) $vars['json'] = true;
 return $vars;
 }

Slide 10

Slide 10 text

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();
 }
 }

Slide 11

Slide 11 text

midominio.com/permalink/json/

Slide 12

Slide 12 text

midominio.com/permalink/json/

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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 );
 }

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

@braulioaquino ! [email protected] Generando un API en JSON con WordPress