Recurso após recurso, o WordPress tende a deixar cair o manto do sistema de blogging para o sistema de desenvolvimento de aplicativos. O primeiro passo perceptível para essa mudança foi a introdução tipos de postagem personalizados em sua versão 2.9.

Hoje, a transformação continua com a chegada de API REST do WordPress.

Neste tutorial, explicarei o que é a API REST do WordPress e mostrarei como usá-la.

Mas antes, se você nunca instalou o WordPress, descubra Como instalar um blog WordPress em 7 etapas et Como encontrar, instalar e ativar um tema WordPress em seu blog 

Então vamos voltar ao porquê estamos aqui

O que é a API REST

Para simplificar, entenda que a API REST do WordPress permite que você interaja com o núcleo do WordPress sem passar por sua interface gráfica. Isso significa um desacoplamento do kernel e da GUI. Com esta API, você pode, por exemplo, criar um novo artigo, sem ter que acessar o painel de instrumentos. A API REST será incluída no kernel quando a versão 4.4 for lançada em dezembro.

Dada a natureza do assunto deste tutorial, um bom conhecimento da linguagem PHP e WordPress é necessário.

O que precisamos para este tutorial

Para começar a usar a API REST, você precisará do plug-in API REST bem como a versão mais recente do WordPress. Você tem isso ? Se não, ver o porquêO conhecimento da API HTTP do WordPress também será uma boa empresa para fazer chamadas remotas.

Descubra clicando neste link Como instalar (adicionar) um plugin no WordPress

Como um projeto para este tutorial criará uma instalação local do WordPress do qual recuperaremos artigos de nosso site por meio da API REST. Certifique-se de ter o plugin REST API instalado e ativado no site de produção.

Agora, crie um Widget na sua instalação local. Aqui está o 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' );
});

No diretório do plug-in do site local, crie uma pasta chamada -Widget-teste rest-api. Nesta pasta, crie um arquivo chamado widget-test-resto-api.php e cole o código acima.

Descubra a propósito Como gerenciar e restaurar uma versão do WordPress com VersionPress

Este código contém o cabeçalho do plugin (os comentários no início do código) que permite ao WordPress saber que é um plugin. Em seguida, vem o código mínimo para criar um widget, acrescido de algumas linhas. 

Vamos colocar mais ênfase na função widget (), porque é dentro dele que se constrói a exibição do widget. Portanto, é dentro desta função que faremos as chamadas utilizando a API HTTP.

Recuperar artigos

Precisaremos de algumas informações para consultar o site de produção ou o site online. De certa forma, isso constituirá a questão colocada ao núcleo do WordPress de nosso site online. Estes são o caminho básico da API, a rota usada, a terminação usada, os cabeçalhos e os parâmetros.

Sublime suas imagens ilustrativas descobrindo Como criar imagens interativas em um blog WordPress

O caminho básico da API REST do WordPress é sempre / Wp-json / WP / v2 /. Assim, o caminho completo será http://votre-domaine.com/wp-json/wp/v2/.

A rota usada para recuperar os itens é / posts. O que faz o caminho completo para os artigos é http://votre-domaine.com/wp-json/wp/v2/posts.

Cada rota pode ter várias terminações, diferenciadas pelo método HTTP usado. Assim, a rota de um artigo pode ser / Mensagens / 291. Este 3 estrada terminações:

ENTRE : para recuperar o artigo
PUT : para atualizar o artigo
EXCLUIR : para excluir o artigo.

Usando a API HTTP e a terminação GET, a recuperação dos artigos se resume a uma linha de código:

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

Torne seus artigos populares descobrindo Como adicionar botões de compartilhamento no WordPress

Se a resposta for um objeto WP_Error, terminamos a execução da nossa função widget ()caso contrário, examinamos o conteúdo do corpo da resposta com a função wp_remote_retrieve_body procurando artigos codificados no formato JSON. É assim que a função se parece 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'];
}

O que é interessante neste exemplo é que, ao substituir a função wp_remote_get caso contrário, este exemplo estará fora do escopo do WordPress. Isso significa que você pode consultar o núcleo do WordPress de qualquer outra plataforma, seja Joomla, Prestashop, Drupal, Android ou IOS.

Vá além, descobrindo esses 8 WordPress plugins para transformar seu site em um aplicativo móvel

Você pode, portanto, criar um aplicativo móvel nativo conectado a um back office do WordPress. A API REST transforma o WordPress em uma plataforma de desenvolvimento de aplicativos.

Vá mais longe com a API REST

Consultar o núcleo do WordPress com o objetivo de interagir com os dados constitui 90% de seu uso. Mas ainda existem algumas áreas que seria interessante explorar: em cache resposta, autenticação e descoberta de serviço.

Cache de resposta

Ao recuperar informações como os artigos em nosso exemplo, é uma boa prática armazená-los em cache, ou seja, copiá-los em algum lugar no terminal de chamada para evitar outras chamadas para as mesmas informações para o servidor. Existem diferentes abordagens para conseguir isso, incluindo CACHE JP API REST, o cache de plugins, e transientes.

A ideia de transitório é copiar as informações localmente com uma data de validade. Por padrão, a cópia estará no banco de dados, mas algumas implementações permitem a cópia diretamente na memória, o que torna a operação de restauração ainda mais rápida.

Veja também estes Plugins WordPress 7 premium para otimizar o cache do seu site

As informações são então recuperadas do banco de dados local até o seu vencimento, quando são então recuperadas do site remoto. Aqui está uma versão modificada de nosso widget que inclui a noção de transiente (com uma nova função):

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'];

}

Autenticação

Ao trabalhar com recursos externos, é aconselhável se identificar. Isso é feito por meio do processo de autenticação. A API REST oferece dois métodos para se identificar: autenticação básica e OAuth.

Autenticação básica : dos dois métodos, este é o mais simples. Consiste no envio de seu nome de usuário e senha a cada solicitação, o que acarreta grandes riscos de segurança. Por esse motivo, NÃO deve ser usado na produção tanto quanto possível.

Para usar a autenticação básica, você deve instalar e ativar o plugin Basic-Auth. Então, para fazer uma chamada autenticada, declare o cabeçalho com Básico e faça a ligação:

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

Veja também como adicionar autenticação de fator duplo no WordPress

Tenha cuidado com este exemplo, porque se você experimentá-lo em seu site, você excluirá o artigo que tem o ID 1234 se ele existir..

OAuth : Esse método, ainda obscuro do ponto de vista da documentação, requer a instalação e ativação do plug-in OAuth1. A implementação deste método de autenticação inclui a instalação e uso combinado de WP-CLI, uma linha de comando para WordPress e Cliente WP CLI.

A introdução de interfaces de linha de comando não é um problema em si, mas é a falta de uma lista de comandos que é o problema.

Descoberta de serviço

Parte do aprendizado de qualquer API é se familiarizar com suas opções. Então, eu recomendo que você verifique a parte sobre descoberta de serviço da documentação da API REST do WordPress.

Lá você encontrará métodos para interagir com artigos, tipos de postagem, mídia, metadados, bem como irregularidades como incapacidade de excluir um usuário ou outras preocupações menores.

Lembre-se que este é um trabalho em andamento que já é muito interessante.

Quem usa a API REST do WordPress?

Em todas as coisas, existem pioneiros, a API REST do WordPress não é exceção. Aqui está uma pequena lista das poucas empresas que fazem uso da API, apesar de sua juventude:

Feito Humano use a API para construir sites para clientes que desejam algo mais flexível para o front-end.

WP Live Search é um plugin gratuito que faz uso da API para suas funções de pesquisa.

Editus é um plugin premium que usa a API para suas funções de edição de front-end.

D'après Quem está usando isso? outras pessoas e empresas estão implementando a API REST do WordPress para construir aplicativos móveis.

Apesar de sua juventude, a API REST do WordPress é uma grande promessa como um recurso importante na transformação do WordPress em uma plataforma de desenvolvimento de aplicativos.

Você também está usando a API REST do WordPress?  Gostaríamos de ter suas impressões sobre o assunto.

Como você encontra as oportunidades que ela oferece? Compartilhe suas reações conosco em nossa seção de comentários.

Descubra também alguns plugins premium do WordPress  

Você pode usar outro WordPress plugins para dar uma aparência moderna e otimizar o manuseio do seu blog ou site.

Oferecemos a você aqui alguns plugins premium do WordPress que ajudarão você a fazer isso.

1. Redirecionamento final do WordPress

O plugin "WordPress Ultimate Redirect" é a única solução que você precisa para gerenciar todos os seus redirecionamentos, 404s, migração de site e / ou mudança de domínio ou necessidades de transferência.

Plug-in de redirecionamento final do Wordpress

Existem plug-ins que fazem o que o plug-in faz, mas não todos ao mesmo tempo. Este plugin fornece toda a funcionalidade de redirecionamento 404 usual, além de nosso favorito "redirecionamento automático para correspondência de URL mais próxima".

Descarregar | Demo | hospedagem na web

2. Leadeo

Você sabia que o uso de um vídeo em sua página de destino pode melhorar as conversões em mais de 80%. Da mesma forma, nas páginas de vendas com mais de 46%. O Leadeo pode ajudar você a obter mais leads e vendas de pessoas assistindo o vídeo em seu blog.Leadeo

Graças a este plugin, você pode Faz um video útil para um público-alvo, compartilhe em suas redes sociais e em sua lista de contatos por e-mail e envie alguns anúncios. Assim, as pessoas verão o vídeo e gostarão.

Como o vídeo gera o interesse esperado, quem o assistiu recebe:

  • inscreva-se na sua lista de e-mail para receber ótimas dicas
  • entrar em contato com você
  • compartilhe uma coisa interessante que você disse no vídeo
  • compartilhe o vídeo com seus amigos
  • clique no botão de apelo à ação
  • e outros

E todas essas ações são oferecidas apenas à direita do vídeo.

Descarregar | Demo | hospedagem na web

3. CommentPress

O CommentPress é um poderoso plugin compacto do WordPress que permite inserir, editar e excluir comentários de forma rápida e fácil. O CommentPress usa Ajax, jQuery e PHP para oferecer aos visitantes a capacidade de inserir comentários sem precisar recarregar a página.Comentar os comentários do ajax, inserir, editar e excluir comentários

Este plugin tem muitas opções de personalização, finalmente dando a aparência que você deseja. Possui um captcha para bloquear spam e traz à sua seção de comentários mais segurança.

Suas principais características são: a fácil inserção de comentários, a possibilidade de os usuários responderem a comentários específicos, a paginação de comentários, gerenciamento completo da administração da seção de comentários, botões para fácil inserção de imagens, vídeos e links, um layout totalmente responsivo, um Captcha para proteger o formulário e evitar spam e muito mais.

Descarregar | Demo | hospedagem na web

Recursos Recomendados

Descubra outros recursos recomendados para ajudá-lo a criar e gerenciar seu site.

Conclusão

Aqui! É isso para este tutorial. Esperamos que este tutorial tenha mostrado como usar a API REST do WordPress. sinta-se livre para compartilhe esses artigos com seus amigos em suas redes sociais favoritas

No entanto, você também poderá consultar nossos Ressources, se você precisar de mais elementos para realizar seus projetos de criação de sites da Internet, consultando nosso guia no site Criação de blog WordPress.

Se você tiver sugestões ou comentários, deixe-os em nossa seção Comentários.

...