O WordPress é um software colaborativo em larga escala, pois são muitos os desenvolvedores do WordPress espalhados pelo mundo inteiro e que despendem o seu tempo para tornar o WordPress cada vez melhor. A cada nova versão do WordPress são criadas novas funcionalidades que permitem a cada um de nós que utiliza este software para gerir os seus sites e blogues tirar o máximo partido da internet: comunicar e publicar conteúdo. A equipa do WordPress disponibilizou em fase de testes no passado dia 20 a versão Beta 3 do WordPress 3.4. para a comunidade poder testar seus plugins. É possível fazer o download desta nova versão mas não é recomendado correr em ambiente de produção.
NOVAS FUNCIONALIDADES EM DESTAQUE:
- Customizador de temas com pré-visualização em tempo-real
- Possibilidade de selecionar um cabeçalho ou background do tema a partir da biblioteca de imagens
- Nova API para a interface XML-RPC que melhoramentos para integração com aplicações externas e móveis
- Melhoramento da performance da classe pública WP_Query, responsável pela criação das chamadas à base de dados (SQL) organizando os posts de acordo com a página que estamos a visitar
- Nova API para registar cabeçalhos e backgrounds para novos temas
CUSTOMIZADOR DE TEMAS COM PRÉ-VISUALIZAÇÃO EM TEMPO-REAL
Esta nova versão trás um novo addon à interface de administração do WordPress que possibilita ao administrador alterar o tema (caso este o suporte) de maneira intuítiva, dinâmica e acompanhada.
Esta nova interface por enquanto apenas possibilita a alteração do seu cabeçalho, texto, tagline e background, porém prevê-se que a sua evolução natural seja a criação de novas funcionalidades, como por exemplo ajustar os widgets, menus, CSS (cores, fontes e tamanhos) sem ter que se editar o tema em si ou criar um tema filho.
Esta é com toda a certeza uma nova funcionalidade que agrada a todos os blogueiros que pretendem usar temas genéricos e com isso personalizar ainda mais os seus temas sem ter que mexer numa única linha de código.
SELECIONAR CABEÇALHO E BACKGROUND DA BIBLIOTECA
Outra nova opção associada aos temas e que irá ser positivo para todos os blogueiros é poder-se escolher o cabeçalho e o background da biblioteca sem ter que carregar a imagem para o servidor via FTP. Isto foi bastante pedido e discutido entre a comunidade que visava facilitar o uso destes novos recursos.
API XML-RPC PARA INTEGRAR COM APPS MÓVEIS
Sem dúvida o grande melhoramento foi na interface XML-RPC do WordPress. Para os developers como eu que trabalham com o WordPress e que fazem vários trabalhos de integração de aplicações, isto é algo de muito positivo!
Esta API possibilita você criar uma aplicação, por exemplo para dispositivos móveis, que comunique diretamente com o WordPress remotamente para que vocês possa acessar ou postar novos artigos sem ter que ir pelo browser à administração dos seus blogues.
Esta nova API abre possibilidades inifinitas para novas aplicações baseadas no WordPress.
A antiga interface weblog, cujas aplicações para mobile legadas usavam, irá co-existir com esta nova API, no entanto muitas melhorias foram feitas. A mais pedida foi o facto de se poder selecionar uma imagem em destaque a um Post via XML-RPC algo que não era possivel antes.
Um pedido geral a todos os desenvolvedores de aplicações móveis para WordPress, deverão ir mudando para a nova API, uma vez que a versão anterior irá aos poucos ficar inutilizada.
Como funcionar com a nova API XML-RPC
É muito simples usar esta API para criar a nossas próprias aplicações. O XML-RPC é uma norma para a comunicação entre várias aplicações remotas. Nos exemplos seguintes iremos usar PHP para desenvolver a nosso cliente que irá realizar várias operações a uma instalação do WordPress, no entanto vocês poderá adaptá-lo para qualquer linguagem.
Para realizarmos a nossa tarefa precisamos do seguinte:
- Instalação de teste do WordPress 3.4 (pode usar um servidor na sua máquina local – em Windows recomendo o XAMPP)
- Após a instalação habilitar o XML-RPC nas opções da administração.
- Biblioteca de XML-RPC para PHP (reomendo o Incution XML-RPC)
- Ficheiro cliente-wp.php vazio no servidor local independente do WordPress para albergar o nosso cliente
Em primeiro lugar, depois de instalar o seu WordPress 3.4, iremos precisar de uma bilbioteca para PHP que nos permita de uam maneira fácil codificar e comunicar via XML-RPC. Para isso usamos a biblioteca Incution XML-RPC que é muito simples e também é usada pelo WordPress para gerar o servidor XML-RPC. Faça o download da mesma.
Em seguida crie um ficheiro chamado cliente-wp.php num qualquer servidor local de maneira a poder corrê-lo sempre que o chamar. Este ficheiro irá conter o nosso código.
Vamos em primeiro lugar vamos fazer um pedido muito simples ao servidor: imprimir o post por defeito que vem com a instalação. Usando o código seguinte o que irá aparecer na tela quando chamar o ficheiro é o seguinte:
Ele imprime o título e o conteúdo do post. Para isso vamos colocar o seguinte código no ficheiro:
<?php require( "IXR_Library.php" ); $client = new IXR_Client( 'http://127.0.0.1/xmlrpc.php' ); $utilizador = 'admin'; // O utilizador do WordPress $password = 'password'; // A password do utilizador $post_id = 1; // ID do post que queremos imprimir // Vamos fazer uma query ao WordPress chamando o post // O método query aceita como primeiro parâmetro o nome do método XML-RPC que // se está a chamar, enviando para o URL todos os parâmetros que vierem a seguir. if ( !$client->query( 'wp.getPost', 1, $utilizador, $password, $post_id ) ) { echo 'Um erro ocorreu.' . $client->getErrorCode() . ":" . $client->getErrorMessage(); } $post = $client->getResponse(); // Imprimimos o título e conteúdo do post echo '<h1>Titulo: '.$post['post_title'].'</h1>'; echo '<p>'.$post['post_content'].'</p>'; ?>
Como vê não é muito dificil escrever um cliente que comunique via XML com o WordPress. Se você rodar o ficheiro no seu servidor irá ver que funciona tudo direitinho!
A descrição de todos os métodos encontra-se nesta página do Codex que deve ser usada como referência no seu trabalho.
Outro exemplo poderia ser a criação de um post diretamente a partir do cliente PHP. Para isso o código seguinte fica como referência:
<?php require( "IXR_Library.php" ); $client = new IXR_Client( 'http://wp-beta.lo/xmlrpc.php' ); $utilizador = 'admin'; $password = 'password'; // Array de variáveis com informações para o novo Post $content = array( 'post_type' => 'post', 'post_title' => 'Post Inserido', 'post_status' => 'publish', 'post_content' => '<p>Lorem ipsum dolor sit amet</p>', 'custom_fields' => array( array( 'meu_custom_field', 'Valor do custom field' ), array( 'outro_campo', 'Valor do campo' ), ), 'terms' => array( 'category' => 1 ), 'terms_names' => array( 'category' => 'Nova Categoria', 'category' => 'Outra Nova Categoria', 'post_tag' => 'Etiqueta 1', 'post_tag' => 'Posts sobre XML-RPC' ), 'sticky' => true, ); if ( !$client->query( 'wp.newPost', 1, $utilizador, $password, $content ) ) { die( 'Erro ao criar novo Post. ' . $client->getErrorCode() ." : ". $client->getErrorMessage() ); } $post_id = $client->getResponse(); if( $post_id ) { echo 'Post publicado com o ID:#' . $post_id; } ?>
Ao acessar o seu painel de administração poderá visualizar o novo post que você acabou de criar através do cliente. Simples não é?
Estes são apenas dois exemplos simples porém a API vem com vários métodos que o possibilitam a trabalhar com os vários objectos, desde taxonomias, posts, usuários entre outros.
CONCLUSÃO
O novo WordPress 3.4 trará melhoramentos ao nível da interface para aplicativos móveis, desde o customizador de temas que parece ser apropriado para um tablet até à nova API para comunicação remota com o WordPress.
Esperamos que este artigo possa impulsionar a criação de novas aplicações dirigidas ao público que usa o WordPress como ferramenta de trabalho e de lazer.
Abraços!