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.
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:
- Escolha Arquivo > Projeto, em seguida, selecione Projeto PHP na lista Assistentes, conforme mostrado na Figura 1.
Figura 1. Criando seu Novo Projeto PHP
- Clique em Avançar.
- Na janela Novo Projeto PHP , digite o nome de seu plug-in na caixa Nome do Projeto .
- 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
- 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
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
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
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
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
-
Visite o site oficial do WordPress para aprender mais sobre o WordPress.
-
Para instalar o WordPress rapidamente, verifique o tutorial "Famosa Instalação de 5 Minutos".
-
Para obter uma lista dos filtros disponíveis do WordPress que podem ser estendidos, consulte a Referência de API/Filtro de Plug-in.
-
Para obter uma lista completa das ações do WordPress que podem ser estendidas, consulte a Referência de API/Ação de Plug-in.
-
Para aprender como fazer que o WordPress hospede seu plug-in, visite http://wordpress.org/extend/plugins/about/.
-
Para aprender como configurar a depuração com PDT para depurar seu plug-in, leia "Depurando PHP Usando Eclipse e PDT."
-
Para aprender sobre bons hábitos de codificação orientada a objetos em PHP, leia "
Criar Sete Bons Hábitos Orientados a Objetos em PHP."
-
Verifique a "Lista de Leitura Recomendada do
Eclipse."
-
Navegue por todo o Conteúdo do Eclipse no developerWorks.
-
Siga developerWorks no Twitter.
-
Iniciante para o Eclipse? Leia o arquivo do developerWorks "Introdução à Plataforma Eclipse" para conhecer sua origem e arquitetura e como estender o Eclipse com
plug-ins.
-
Expanda suas qualificações no Eclipse verificando, no IBM developerWorks, Recursos do Projeto Eclipse.
-
Para ouvir entrevistas e discussões interessantes para
desenvolvedores de software, verifique os podcasts do developerWorks.
-
Fique atualizado com Eventos Técnicos e Webcasts do developerWorks.
-
Assista e aprenda sobre as tecnologias IBM e de software livre e funções de produtos gratuitamente com os Demos On Demand do developerWorks.
-
Verifique as próximas conferências, convenções, webcasts e outros
Eventos futuros no mundo que sejam de interesse de desenvolvedores de software livre da IBM.
-
Visite
Zona de Software Livre do developerWorks para obter informações extensivas sobre como executar ações, sobre ferramentas e atualizações de projetos para ajudá-lo a se desenvolver com tecnologias de software livre e
usá-las com produtos IBM.
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
|