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!