Avançar para a área de conteúdo

ir para o conteúdo principal

developerWorks Brasil  >  Software livre  >

Desenvolva um Plug-in WordPress com o Eclipse PDT

Use ferramentas Eclipse para estender WordPress

developerWorks
Opções de documento

Opções de documento que necessitam de JavaScript não são exibidas


Classificar esta página

Ajude-nos a melhorar este conteúdo


Nível: Intermediário

Nathan A. Good, Senior Information Engineer, Freelance Developer

10/Mar/2009

WordPress é uma plataforma de publicação na Web gravada em PHP, usando MySQL para armazenamento. Fornece extensibilidade construindo plug-ins que incluem filtros e ações. O projeto Eclipse PHP Development Tools (PDT) V2.0 permite que você use o Eclipse para construir aplicativos PHP. Aprenda como estender o WordPress usando PDT para construir plug-ins.

O projeto Eclipse PDT V2.0 foi liberado recentemente. Ele inclui muitos novos recursos de usabilidade em relação à versão anterior, incluindo a capacidade de incluir um caminho de construção, abrir tipos e acessar assistência de código aprimorada.

Este artigo demonstra como fazer download e instalar o WordPress e como usar o Eclipse PDT para construir um plug-in. Também demonstra como exportar o plug-in do Eclipse para que possa ser compartilhado.

Para aproveitar ao máximo este artigo, é necessário ter as seguintes ferramentas:

  • PHP V4.3 ou posterior
  • MySQL V4.0 ou posterior
  • Eclipse V3.4 com PDT

Uma Visão Geral do WordPress

WordPress é uma plataforma de publicação gravada em PHP que permite publicar conteúdo de forma rápida e fácil na Web. É altamente extensível, permitindo criar plug-ins que fornecem praticamente qualquer funcionalidade. Desde 2005, milhões de cópias dele foram transferidas por download e usadas por grandes empresas e indivíduos de forma semelhante.

O WordPress é fácil de instalar e configurar e os requisitos são poucos: somente PHP e MySQL. Para instalar o WordPress, simplesmente faça download do arquivo ZIP do Web site (consulte Recursos) e extraia o ZIP para um diretório acessível a partir de ser servidor da Web. Neste artigo, estou usando um servidor da Web configurado para permitir publicação do diretório do usuário (como o módulo userdir no Apache) no servidor da Web. Renomeie o diretório, se quiser; eu alterei o meu de wordpress para blog.

Após concluir a extração dos arquivos e renomear o diretório, siga as instruções "Famosa Instalação em 5 Minutos" (consulte Recursos). Se você tiver um Provedor de Serviços da Internet (ISP) que suporte os requisitos do WordPress, pode desenvolver localmente e enviar por FTP todo o diretório para seu site.



Voltar para parte superior


Estendendo o WordPress

Muitas pessoas usam o WordPress para blogs, apesar de ser bom para publicar qualquer conteúdo facilmente. Trabalhei em sites que usam o WordPress como o mecanismo principal para hospedar sites internacionais sobre produtos que incluem fóruns, formulários de feedback e animação Adobe® Flash® na página inicial.

Muitos plug-ins estão disponíveis para o WordPress (consulte Recursos). Esses plug-ins vão da capacidade de incluir campos customizados que coletam informações adicionais sobre os usuários registrados do site do WordPress até nuvens de tags, utilitários antispam e plug-ins de contato que geram links "Compartilhar isto" para sites populares, como Facebook, MySpace, del.icio.us e Technorati.

Mas mesmo com todos esses plug-ins, pode haver casos em que seja necessário estender o WordPress para se ajustar às suas próprias necessidades. O restante deste artigo mostra como é possível usar o Eclipse e PDT para configurar um ambiente de desenvolvimento no qual é possível desenvolver e testar plug-ins do WordPress.



Voltar para parte superior


Configurando sua Área de Trabalho

Antes de configurar sua área de trabalho, certifique-se de que o WordPress esteja instalado e em execução. Será necessário ter acesso de leitura e gravação ao diretório do WordPress. O melhor cenário é ter diretórios de usuários configurados no servidor da Web em sua máquina de forma que seja possível colocar os arquivos em seu próprio diretório inicial. Mas um diretório compartilhado também funciona desde que seja possível ler e gravar o mesmo.

Antes de prosseguir, crie um diretório dentro do diretório WordPress_home/wp-content/plugins (onde WordPress_home é o caminho completo para o diretório no qual o WordPress foi extraído) — por exemplo, WordPress home/wp-content/plugins/myplugin. Em apenas alguns instantes, esse diretório será home do novo plug-in do WordPress.

Se o WordPress estiver ativado e em execução e for possível ler e gravar no diretório que acaba de ser criado para seu plug-in, você está pronto para criar um novo projeto para seu plug-in do WordPress:

  1. Escolha Arquivo > Projeto, em seguida, selecione Projeto PHP na lista Assistentes, conforme mostrado na Figura 1.

    Figura 1. Criando seu Novo Projeto PHP
    Criando seu Novo Projeto PHP

  2. Clique em Avançar.
  3. Na janela Novo Projeto PHP , digite o nome de seu plug-in na caixa Nome do Projeto .
  4. Sob Conteúdo, selecione Criar projeto a partir de origem existente. Em seguida, navegue até o diretório ou digite o nome do mesmo que você acaba de criar (por exemplo, meu diretório é /Users/ngood/Sites/blog/wp-content/plugins/myplugin) na caixa Diretório , conforme mostrado na Figura 2.

    Figura 2. Definindo o Local do Projeto
    Definindo o Local do Projeto

  5. Clique em Concluir quando tiver inserido as informações do diretório, já que as informações restantes são deixadas com os valores padrão.

Após criar o projeto, a lista de diretórios de seu diretório WordPress_home/wp-content/plugins/myplugin terá a aparência da Lista 1.


Lista 1. O Conteúdo do Novo Diretório myplugin

drwxr-xr-x  7 user  user    238 Feb  3 11:02 .
drwxr-xr-x@ 5 user  user    170 Feb  3 08:39 ..
-rw-r--r--  1 user  user    259 Feb  3 11:10 .buildpath
-rw-r--r--  1 user  user  30244 Feb  3 11:02 .pmd
-rw-r--r--  1 user  user    496 Feb  3 08:39 .project
drwxr-xr-x  3 user  user    102 Feb  3 08:39 .settings
-rw-r--r--  1 user  user    795 Feb  3 11:13 myplugin.php

Trabalhando em um Ambiente de Equipe

Se você estiver trabalhando em um ambiente de equipe e compartilhando seu código, as ferramentas do Eclipse cuidarão de registrar entrada dos arquivos do diretório correto no repositório de controle de origem. No entanto, anote o diretório no qual os arquivos estão sendo importados de seu ambiente de compartilhamento de equipe para sua área de trabalho. Quando estiver importando arquivos de um repositório de controle de origem para sua área de trabalho, é possível definir onde deseja armazenar os arquivos (consulte a Figura 3). Para obter informações adicionais sobre como usar o Eclipse com repositórios de código de origem, consulte Recursos.


Figura 3. O Plug-in Conforme Mostrado na Área de Janela Administrador do WordPress
O Plug-in Conforme Mostrado na Área de Janela Administrador do WordPress

Incluindo o WordPress em seu Caminho de Construção

O projeto PDT fornece a capacidade de incluir pastas em seu caminho de construção, o que também fornece a capacidade de haver ferramentas de conclusão de código trabalhando com o WordPress. Para poder ver as funções add_filter e add_action na conclusão de código, pode-se modificar o caminho de construção para incluir o diretório wp-includes do WordPress.

Para incluir o diretório wp-includes do WordPress em seu caminho de construção, escolha Projeto > Propriedades com seu projeto PHP realçado. Na guia Bibliotecas , clique em Incluir Pasta de Origem Externa, em seguida, navegue até o diretório wp-includes localizado onde o WordPress foi instalado. Clique em OK quando tiver concluído. Agora, pode-se digitar add_ no editor de PHP, chamar a conclusão de código e ver uma lista que inclui add_action e add_filter.



Voltar para parte superior


Incluindo seu Primeiro Arquivo de Plug-in

Para incluir seu primeiro arquivo de plug-in, escolha Arquivo > Novo > Arquivo PHP. O primeiro arquivo precisa ser denominado igual ao diretório no qual o arquivo reside. Por exemplo, se o diretório do plug-in for chamado myplugin, denomine o arquivo myplugin.php. Esse será o arquivo que o WordPress lê para obter informações sobre seu plug-in e para registrar seus pontos de extensão.

Para que o WordPress identifique seu plug-in, é necessário colar um bloco de comentário em seu novo arquivo de plug-in. Se você estiver criando muitos plug-ins do WordPress, pode ser que queira considerar colocar esse bloco de códigos nos modelos de código para PHP. Consulte a Lista 2 para obter um exemplo do bloco de códigos concluído.


Lista 2. O Bloco de Comentário para Identificar seu Plug-in

/*
Plugin Name: My Plugin
Plugin URI: http://www.example.com/myplugin
Description: This is a really great plugin that extends WordPress.
Version: 1.0.0
Author: Nathan A. Good
Author URI: http://www.nathanagood.com
*/

No momento, seu plug-in não faz nada. Mas somente com o bloco de comentário, será exibido na área administrativa Plug-ins do WordPress. Para visualizar seu novo plug-in, efetue login em sua instância do WordPress como administrador, em seguida, clique em Plug-ins. O novo plug-in deve ser visto listado sob Plug-ins Inativos.


Figura 4. Definindo o Local de Origem ao Importar do Repositório de Controle de Origem
Definindo o Local de Origem ao Importar do Repositório de Controle de Origem



Voltar para parte superior


Incluindo Funcionalidade

Neste artigo, incluo duas partes de funcionalidade. A primeira é uma simples que coloca o título de entrada do blog em maiúsculas. Esse é um exemplo de inclusão de um filtro. A segunda é um campo extra no final do formulário de registro para um usuário. É um exemplo de inclusão de uma ação.

Vou gravar os exemplo em código funcional para mantê-los o mais resumidos possível. Lembre-se: Se estiver usando PHP V5 ou posterior, é possível incorporar conceitos orientados a objetos para facilitar a leitura e manutenção de seu código. para obter informações adicionais sobre como gravar PHP com maior facilidade de manutenção usando conceitos de programação orientada a objetos e padrões de design, consulte Recursos.

O Título em Maiúsculas

O código para o filtro de título é mostrado na Lista 3. Nela, é possível ver que a função strtoupper() é usada em PHP para o o título do blog seja postado em maiúsculas.


Lista 3. A Função para Colocar seu Título em Maiúsculas

/**
 * Coloca em maiúsculas o título fornecido por $title.
 */
function capitalizeTitle($title) {
    return strtoupper($title);
}

Quando tiver gravado a função, é necessário chamar add_filter para registrar sua função com o WordPress como o ponto de extensão de filtro especificado. Um link para a lista completa dos filtros disponíveis é fornecido em Recursos. Um exemplo de como incluir o filtro é mostrado abaixo.


Lista 4. Incluindo o Filtro com add_filter

/* agora, inclua o filtro */
add_filter('the_title', 'capitalizeTitle');

Incluindo os Campos de Registro

O código para gerar um novo campo de registro customizado é mostrado na Lista 5. Usei a extensão Firebug para visualizar os estilos de Cascading Style Sheet (CSS) dos campos de formulário de registro existentes para assegurar que meus campos customizados tivessem a mesma classe de estilo CSS.


Lista 5. A Ação do Novo Campo Customizado

/**
 * Inclui um campo customizado que solicita do usuário sua  * cor favorita.
 * @return void
 */
function drawCustomField() {
    echo '<p><label>Favorite Color:<br />';
    echo '<input autocomplete="off" class="input" name="fav_color" ';
    echo ' id="fav_color" size="25"';
    echo ' value="' . $_POST['fav_color'] . '" type="text" tabindex="32" />';
    echo '</label><br /></p>';
}

Para incluir a ação customizada, use o código mostrado abaixo.


Lista 6. Incluindo a Ação com add_action

/* agora, inclua a ação */
add_action('register_form', 'drawCustomField');

Essa ação simplesmente desenha o campo no formulário. Não salva realmente os dados quando o usuário envia o formulário. Para salvar os dados, use a ação profile_update . Para obter um link para a lista completa de ações disponíveis e o que elas fazem, consulte Recursos.



Voltar para parte superior


Testando o Plug-in

Com o código colocado no projeto, você está pronto para testar o plug-in. Antes de testá-lo, é necessário ativar o plug-in no WordPress. Efetue login no WordPress como administrador e clique em Plug-ins. Localize seu plug-in, em seguida, clique em Ativar.

Após ativar o plug-in, vá para a página inicial de seu blog. Deve-se observar que o título da postagem de amostra "Hello World!" agora está em letras maiúsculas. Se o plug-in for desativado, ele será revertido para maiúsculas e minúsculas originais. Essa funcionalidade pode ser usada para fazer outras coisas, como tornar URLs localizadas em títulos em hyperlinks. É possível incluir mais de um filtro com o mesmo nome, portanto, em vez de criar um filtro que faça diferentes coisas, considere criar pequenas funções concentradas e encadeá-las juntas.

Para testar a parte do campo de registro do plug-in, é necessário efetuar login no WordPress como o usuário administrativo e ativar o recurso que permite que usuários se registrem na página Configurações . Após ativar essa opção, você verá o campo Cor Favorita quando for para a página de registro.



Voltar para parte superior


Outros Pontos de Extensão do WordPress

Além de incluir filtros e ações, é possível substituir funções no WordPress. As funções que podem ser substituídas são definidas no arquivo pluggable.php no diretório inicial do WordPress. Um exemplo é wp_mail, que proporciona a oportunidade de fornecer uma função diferente para enviar e-mail a seus usuários. Muitas das funções que podem ser substituídas lidam com autorização do usuário, como efetuar login, configurar cookies e notificar sobre diferentes eventos. A capacidade de substituir funcionalidade baseada em autorização permite construir plug-ins que podem fornecer formas alternativas de autenticação e autorização para o WordPress, como autenticação com relação a um armazenamento de usuário corporativo.



Voltar para parte superior


Exportando o Plug-in

Após ter gravado e testado completamente seu plug-in, você provavelmente irá querer compartilhá-lo com outras pessoas. Os plug-ins do WordPress são empacotados como o próprio WordPress. A maioria é simplesmente um arquivo ZIP que é expandido e copiado para o diretório plugins do WordPress.

O Eclipse pode ser usado para exportar os arquivos de plug-in. Usando o Eclipse para exportar o projeto para um arquivo archive ZIP, é possível evitar o envio de arquivos específicos do projeto e diretórios e arquivos de compartilhamento de equipe (como .svn ou diretórios Concurrent Version Systems (CVS)).

Para exportar seu plug-in para um arquivo archive, selecione seu projeto PHP, em seguida, escolha Arquivo > Exportar. Na janela Selecionar , escolha Arquivo Archive na lista de destino, em seguida, clique em Avançar.


Figura 5. Exportando seu Plug-in do WordPress
Exportando seu Plug-in do WordPress

Na janela Arquivo Archive , mostrada na Figura 6, clique em Cancelar Seleção de Tudo, em seguida, clique nos arquivos PHP que deseja incluir em seu arquivo archive (como myplugin.php). Após concluir a seleção dos arquivos PHP, escolha o local do arquivo archive em Para arquivo archive, em seguida, clique em Concluir para criar o arquivo. Para manter consistência, é melhor manter o nome do arquivo ZIP igual ao diretório plugin e o arquivo de plug-in principal.


Figura 6. Escolhendo Arquivos para Exportação
Escolhendo Arquivos para Exportação

Agora que o arquivo archive foi criado a partir do Eclipse, é possível publicá-lo em um servidor da Web ou copiá-lo para o local do ISP para que possa ser usado.

Para incluir informações sobre seu plug-in no site oficial do WordPress, consulte Recursos e siga as instruções.



Voltar para parte superior


Conclusão

O WordPress é um um aplicativo da Web cada vez mais popular e extensível que permite publicar facilmente o conteúdo para seus usuários. É possível estender o WordPress para fornecer mais funcionalidade sem precisar modificar nenhum código do WordPress.

O Eclipse IDE com PDT instalado permite construir um plug-in usando ferramentas PHP. É possível testar e executar seu plug-in com o WordPress até que seja concluído. Em seguida, é possível usar a funcionalidade de exportação do Eclipse para exportar o plug-in para um arquivo archive adequado para distribuição.



Recursos

Aprender

Obter produtos e tecnologias

Discutir


Sobre o autor

Nathan Good lives in the Twin Cities area of Minnesota. Professionally, he does software development, software architecture, and systems administration. When he's not writing software, he enjoys building PCs and servers, reading about and working with new technologies, and trying to get his friends to make the move to open source software. He's written and co-written many books and articles, including Professional Red Hat Enterprise Linux 3, Regular Expression Recipes: A Problem-Solution Approach, and Foundations of PEAR: Rapid PHP Development.




Avalie esta página


Reserve um instante para completar este formulário para nos ajudar a servi-lo melhor.



 


 


Não
são úteis
Extremamente
úteis
 






Voltar para parte superior


Adobe e Flash são marcas registradas da Adobe Systems Incorporated nos Estados Unidos e/ou em outros países. IBM, DB2, Lotus, Rational, Tivoli e WebSphere são marcas registradas da International Business Machines Corporation nos Estados Unidos e/ou em outros países. Outros nomes de empresas, produtos e serviços podem ser marcas registradas ou marcas de serviço de terceiros.