Característica tras característica, WordPress tiende a dejar caer el manto del sistema de blogs y al sistema de desarrollo de aplicaciones. El primer paso notable hacia este cambio fue la introducción tipos de publicaciones personalizadas en su versión 2.9.

Hoy, la transformación continúa con la llegada de API REST de WordPress.

En este tutorial, lo guiaré a través de qué es la API REST de WordPress y le mostraré cómo usarla.

Pero antes, si nunca has instalado WordPress, descubre Cómo instalar un blog de WordPress en 7 pasos et ¿Cómo encontrar, instalar y activar un tema de WordPress en tu blog 

Entonces volvamos a por qué estamos aquí

¿Qué es la API REST?

En pocas palabras, comprenda que la API REST de WordPress le permite interactuar con el núcleo de WordPress sin pasar por su interfaz gráfica. Esto significa un desacoplamiento del kernel y la GUI. Con esta API, puede, por ejemplo, crear un nuevo artículo, sin tener que acceder al salpicadero. La API REST se incluirá en el kernel cuando se lance la versión 4.4 en diciembre.

Dada la naturaleza del tema de este tutorial, es necesario un buen conocimiento del lenguaje PHP y WordPress.

¿Qué necesitamos para este tutorial?

Para comenzar con la API REST, necesitará el complemento REST API así como la última versión de WordPress. Lo teneis ? Si no, ver por quéEl conocimiento de la API HTTP de WordPress también será una buena empresa para realizar llamadas remotas.

Descubre haciendo clic en este enlace Cómo instalar (agregar) un complemento en WordPress

Como un proyecto para este tutorial creará una instalación local de WordPress del cual recuperaremos artículos de nuestro sitio web a través de la API REST. Asegúrese de tener el complemento API REST instalado y activado en el sitio web de producción.

Ahora, crea un Reproductor En su instalación local. Aquí está el código básico:

/**
 * Plugin Name: REST API Widget Essai
 * Plugin URI: http://le-site-de-votre-widget-ici.com
 * Description: Ce widget récupère des articles à l'aide de l'API REST
 * Version: 1.0
 * Author: Votre nom
 * Author URI: http://votre-site.com
 */

class Mes_Articles_Widget extends WP_Widget {

    public function __construct() {
        $widget_details = array(
            'classname' => 'widget-essai-rest-api',
            'description' => 'Un widget qui récupère des articles à l'aide de l'API REST depuis un autre site'
        );

        parent::__construct( 'widget-essai-rest-api', 'REST API Widget Essai', $widget_details );

    }

    public function form( $instance ) {
        $title = ( !empty( $instance['title'] ) ) ? $instance['title'] : '';
        ?>

        <p>
            <label for="<?php echo $this->get_field_name( 'title' ); ?>">Title: </label>
            <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
        </p>

        <?php
    }
    public function widget( $args, $instance ) {
        echo $args['before_widget'];
        if( !empty( $instance['title'] ) ) {
            echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
        }
        // le code fonctionnel du widget ici
        echo $args['after_widget'];
    }
}
add_action( 'widgets_init', function(){
     register_widget( 'Mes_Articles_Widget' );
});

En el directorio de complementos de su sitio web local, cree una carpeta llamada Reproductor-test-resto-api. En esta carpeta, cree un archivo llamado Reproductor-test-resto-api.php y pegue el código de arriba.

Descubre por cierto Cómo administrar y restaurar una versión de WordPress con VersionPress

Este código contiene el encabezado del complemento (los comentarios al comienzo del código) que le permite a WordPress saber que es un complemento. Luego viene el código mínimo para crear un widget, aumentado en unas pocas líneas. 

Pondremos más énfasis en la función Widget (), porque es dentro de este que se construye la visualización del widget. Por tanto, es dentro de esta función donde realizaremos las llamadas utilizando la API HTTP.

Recuperar artículos

Necesitaremos cierta información para consultar el sitio web de producción o el sitio web en línea. Estos constituirán de alguna manera la pregunta planteada al núcleo de WordPress de nuestro sitio web en línea. Estos son la ruta básica de la API, la ruta utilizada, la terminación utilizada, los encabezados y los parámetros.

Sublimar sus imágenes ilustrativas descubriendo Cómo crear imágenes interactivas en un blog de WordPress

La ruta básica de la API REST de WordPress es siempre / Wp-JSON / wp / v2 /. Por lo tanto, la ruta completa se http://votre-domaine.com/wp-json/wp/v2/.

La ruta utilizada para recuperar los elementos es / mensajes. Lo que hace que la ruta completa de artículos sea http://votre-domaine.com/wp-json/wp/v2/posts.

Cada ruta puede tener una serie de terminaciones, diferenciadas por el método HTTP utilizado. Así, la ruta de un artículo puede ser / Mensajes / 291. Este 3 carretera terminaciones:

: para recuperar el artículo
PUT : para actualizar el artículo
BORRAR : para eliminar el artículo.

Usando la API HTTP y la terminación GET, la recuperación de los artículos se reduce a una línea de código:

$response = wp_remote_get( 'http://mysite.com/wp-json/wp/v2/posts/' );

Haz tus artículos populares descubriendo Cómo agregar botones para compartir en WordPress

Si la respuesta es un objeto WP_Error, finalizamos la ejecución de nuestra función Widget ()si no, examinamos el contenido del cuerpo de la respuesta con la función wp_remote_retrieve_body buscando artículos codificados en formato JSON. Así es como se ve la función Widget ()  :

 public function widget( $args, $instance ) {
    $response = wp_remote_get( 'http://mysite.com/wp-json/wp/v2/posts/' );

    if( is_wp_error( $response ) ) {
        return;
    }

    $posts = json_decode( wp_remote_retrieve_body( $response ) );

    if( empty( $posts ) ) {
        return;
    }   
    echo $args['before_widget'];

    if( !empty( $instance['title'] ) ) {
        echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
    }
    if( !empty( $posts ) ) {
        echo '<ul>';
        foreach( $posts as $post ) {
            echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
        }
        echo '</ul>';
    }
    echo $args['after_widget'];
}

Lo interesante de este ejemplo es que al reemplazar la función wp_remote_get de lo contrario, este ejemplo estará fuera del alcance de WordPress. Esto significa que podemos consultar el núcleo de WordPress desde cualquier otra plataforma, ya sea Joomla, Prestashop, Drupal, Android o IOS.

Ve más allá descubriendo estos Los complementos de 8 WordPress para convertir su sitio web en una aplicación móvil

Por lo tanto, puede crear una aplicación móvil nativa conectada a un back office de WordPress. La API REST convierte WordPress en una plataforma de desarrollo de aplicaciones.

Vaya más allá con la API REST

Consultar el núcleo de WordPress con el fin de interactuar con los datos constituye el 90% de su uso. Pero todavía hay algunas áreas que sería interesante explorar: en caché respuesta, autenticación y descubrimiento de servicios.

Caché de respuesta

Al recuperar información como los artículos de nuestro ejemplo, es una buena práctica almacenarlos en caché, es decir, copiarlos en algún lugar del terminal que realiza la llamada para evitar otras llamadas a la misma información el servidor. Existen diferentes enfoques para lograr esto, incluyendo CACHE JP REST API, caché de plugins, y transitorios.

La idea de transitorio es copiar la información localmente con una fecha de vencimiento. Por defecto, la copia estará en la base de datos, pero algunas implementaciones permiten copiar directamente a la memoria, lo que hace que la operación de restauración sea aún más rápida.

Ver también estos Complementos premium de WordPress 7 para optimizar el almacenamiento en caché de su sitio web

Luego, la información se recupera de la base de datos local hasta que expira, donde luego se recupera del sitio web remoto. Aquí hay una versión modificada de nuestro widget que incluye la noción de transitorio (con una nueva función):

public function get_remote_posts() {
    $posts = get_transient( 'remote_posts' );
    if( empty( $posts ) ) {
        $response = wp_remote_get( 'http://votre-domaine.com/wp-json/wp/v2/posts/' );
        if( is_wp_error( $response ) ) {
            return array();
        }

        $posts = json_decode( wp_remote_retrieve_body( $response ) );

        if( empty( $posts ) ) {
            return array();
        }

        set_transient( 'remote_posts', $posts, HOUR_IN_SECONDS );
    }

    return $posts;
}

public function widget( $args, $instance ) {
    $posts = $this->get_remote_posts();

    if( empty( $posts ) ) {
        return;
    }
    
    echo $args['before_widget'];

    if( !empty( $instance['title'] ) ) {
        echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'];
    }

    echo '<ul>';
    foreach( $posts as $post ) {
        echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
    }
    echo '</ul>';

    echo $args['after_widget'];

}

Autenticación

Cuando se trabaja con recursos externos, es recomendable que se identifique. Esto se realiza mediante el proceso de autenticación. La API REST le ofrece dos métodos para identificarse: autenticación básica y OAuth.

Autenticación básica : de los dos métodos, este es el más simple. Consiste en enviar tu usuario y contraseña con cada solicitud, lo que conlleva grandes riesgos de seguridad. Por esta razón, NO debe usarse en producción tanto como sea posible.

Para usar la autenticación básica, debe instalar y activar el complemento Básico-Auth. Luego, para realizar una llamada autenticada, declare el encabezado con Básico y haz la llamada:

$headers = array (
    'Authorization' => 'Basic ' . base64_encode( 'username:password' ),
);

$response = wp_remote_request( 'http://votre-domaine.com/wp-json/wp/v2/posts/1234/', array(
    'method' => 'DELETE',
    'headers' => $headers
));

Ver tambien Cómo agregar autenticación de doble factor en WordPress

Tenga cuidado con este ejemplo, porque si lo prueba en su sitio web, eliminará el artículo que tiene el ID 1234 si existe..

OAuth : Este método, aún oscuro desde el punto de vista de la documentación, requiere que instale y active el complemento OAuth1. La implementación de este método de autenticación incluye la instalación y el uso combinado de WP-CLI, una línea de comando para WordPress y WP cliente CLI.

La introducción de interfaces de línea de comandos no es un problema en sí mismo, pero el problema es la falta de una lista de comandos.

Descubrimiento de servicio

Parte del aprendizaje de cualquier API es familiarizarse con sus opciones. Así que te recomiendo que veas la parte en descubrimiento de servicio de la documentación de la API REST de WordPress.

Allí encontrará métodos para interactuar con artículos, tipos de publicaciones, medios, metadatos, así como irregularidades como la imposibilidad de eliminar un usuario u otras preocupaciones menores.

Recuerda que este es un trabajo en progreso que ya es muy interesante.

¿Quién usa la API REST de WordPress?

En todas las cosas hay pioneros, la API REST de WordPress no es una excepción. Aquí hay una breve lista de las pocas empresas que hacen uso de la API, a pesar de su juventud:

provocadas por el hombre utilice la API para crear sitios web para clientes que quieran algo más flexible para la interfaz.

WP Live Search es un complemento gratuito que utiliza la API para sus funciones de búsqueda.

Editus es un complemento premium que utiliza la API para sus funciones de edición frontend.

D'après ¿Quién está usando esta cosa? otras personas y empresas están implementando la API REST de WordPress para crear aplicaciones móviles.

A pesar de su juventud, la API REST de WordPress es una gran promesa como una característica importante en la transformación de WordPress en una plataforma de desarrollo de aplicaciones.

¿También está utilizando la API REST de WordPress?  Nos gustaría tener sus impresiones sobre el tema.

¿Cómo encuentra las oportunidades que ofrece? Comparta sus reacciones con nosotros en nuestra sección de comentarios.

Descubre también algunos complementos premium de WordPress  

Puedes usar otros plugins de WordPress para dar una apariencia moderna y optimizar el manejo de tu blog o sitio web.

Aquí le ofrecemos algunos complementos premium de WordPress que lo ayudarán a hacerlo.

1. WordPress Ultimate Redirect

El complemento "WordPress Ultimate Redirect" es la única solución que necesita para administrar todas sus redirecciones, 404, migración de sitios y / o cambios de dominio o necesidades de transferencia.

Complemento de redireccionamiento definitivo de Wordpress

Hay complementos que hacen lo que hace el complemento, pero no todos al mismo tiempo. Este complemento proporciona toda la funcionalidad de redireccionamiento 404 habitual, además de nuestro "redireccionamiento automático a la URL más cercana" favorita.

Descargar | Demo | alojamiento web

2. Leadeo

¿Sabía que usar un video en su página de destino puede mejorar las conversiones en más del 80%? Asimismo en páginas de ventas con más del 46%. Leadeo puede ayudarlo a obtener más clientes potenciales y ventas de las personas que miran el video en su blog.Leadeo

Gracias a este complemento, puedes hacer un vídeo útil para un público objetivo, compártelo en tus redes sociales y tu lista de contactos por correo electrónico, y envía algunos anuncios. Entonces la gente verá el video y le gustará.

Dado que el video despierta el interés esperado, se ofrece a quienes lo han visto:

  • regístrese en su lista de correo electrónico para obtener excelentes consejos
  • para contactarte
  • comparte algo interesante que dijiste en el video
  • compartir el video con sus amigos
  • haga clic en su botón de llamada a la acción
  • y otra

Y todas estas acciones se ofrecen justo a la derecha del video.

Descargar | Demo | alojamiento web

3. CommentPress

CommentPress es un potente complemento compacto de WordPress que te permite insertar, editar y eliminar comentarios de forma rápida y sencilla. CommentPress utiliza Ajax, jQuery y PHP para brindar a los visitantes la capacidad de insertar comentarios sin tener que volver a cargar la página.Comentar presionar comentarios ajax insertar editar y eliminar comentarios

Este complemento tiene muchas opciones de personalización, finalmente le da la apariencia que desea. Tiene un captcha para bloquear el spam y brinda más seguridad a su sección de comentarios.

Sus principales características son: la fácil inserción de comentarios, la posibilidad de que los usuarios respondan a comentarios específicos, la paginación de comentarios, gestión completa de la administración de la sección de comentarios, botones para fácil inserción de imágenes, videos y enlaces, un diseño totalmente receptivo, un Captcha para proteger el formulario y evitar el spam, y mucho más.

Descargar | Demo | alojamiento web

Recursos recomendados

Conozca otros recursos recomendados para ayudarlo a construir y administrar su sitio web.

Conclusión

Aquí! Eso es todo por este tutorial. Esperamos que este tutorial le haya mostrado cómo utilizar la API REST de WordPress. no dude en comparte estos artículos con tus amigos en tus redes sociales favoritas

Sin embargo, también podrá consultar nuestra Recursos, si necesita más elementos para llevar a cabo sus proyectos de creación de sitios de Internet, consulte nuestra guía sobre Creación de blog de WordPress.

Si tienes sugerencias o comentarios, déjalos en nuestra sección comentarios.

...