Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Desenvolva um Plug-in WordPress com o Eclipse PDT

Use ferramentas Eclipse para estender WordPress

Nathan A. Good, Senior Information Engineer, Freelance Developer
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.

Resumo:  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.

Data:  10/Mar/2009
Nível:  Intermediário
Atividade:  1822 visualizações
Comentários:  


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.


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.


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.


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


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.


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.


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.


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.


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.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre
ArticleID=391276
ArticleTitle=Desenvolva um Plug-in WordPress com o Eclipse PDT
publish-date=03102009
author1-email=mail@nathanagood.com
author1-email-cc=cappel@us.ibm.com

Conheça a IBM da sua cidade

Virtual Branch Office Brasil

A IBM está mais perto do que você imagina!


Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).