WordPress logo

Começar desenvolver para WordPress (seja temas ou plugins), não é uma tarefa complicada. A comunidade é imensa e tende a ajudar pessoas dispostas a aprender.

Nesse artigo vou passar pelos principais fatores que você precisa saber antes de colocar a mão na massa (ou melhor, em códigos). Não irei abordar profundamente cada arquivo do sistema, nem entrarei em muitos detalhes sobre o código em si – isso ficará para os próximos artigos – mas darei uma introdução sobre como o WordPress apresenta o conteúdo para o usuário final.

Vamos falar sobre as template tags, conditional tags, funções, parâmetros, arquivos do sistema e mais algumas coisas interessantes para desenvolvedores.

Então vamos lá.

O WordPress, PHP, HTML e CSS

O back-end (coração) do WordPress é feito em PHP e não restringe nenhum desenvolvedor em utilizar o poder dessa linguagem de programação em seus temas e/ou plugins. No entanto, vamos ver o que é realmente necessário saber para começar desenvolver para WordPress.

O que você quer desenvolver?

Primeiramente, é necessário que você saiba o que deseja fazer com a plataforma, um plugin ou um tema.

  • Plugin: Um plugin é utilizado para estender o que a plataforma pode fazer, ou seja, você pode adicionar algum recurso que o WordPress não tem. Por exemplo, é possível criar um plugin que faz backup da base de dados e arquivos periodicamente, ou um plugin que adiciona alguma funcionalidade ao criar um post novo, etc… Você vai aumentar a capacidade do WordPress.
  • Tema: Um tema está relacionado com a maneira que o conteúdo gerenciado pelo WordPress (conteúdo do seu site) vai ser apresentado ao usuário. Quando alguém digitar o endereço do seu site no navegador de Internet, o WordPress vai selecionar o tema que você escolheu ou criou, e mostrar o conteúdo àquela pessoa da maneira que aquele tema indicar.

Preciso saber o quê?

Para desenvolver um plugin para WordPress é necessário que você tenha conhecimento sobre a linguagem de programação PHP. Já um tema, é necessário que você tenha conhecimento sobre HTML, CSS e as funções do WordPress.

Por este motivo, recomendo fortemente que você aprenda primeiramente HTML e CSS, e pelo menos conheça a linguagem de programação PHP antes de se aventurar na criação de temas. Se a sua praia for desenvolvimento de plugins, fique fera no PHP antes de mais nada, depois aprenda pelo menos um pouco sobre HTML e CSS.

Aprenda de graça no Tutsup

Aqui no Tutsup existem milhares de tutoriais e artigos sobre PHP, HTML e CSS, mas vou recomendar um que está saindo do forno:

São mais de 40 aulas de graça (e ainda estamos escrevendo).

Conheça o WordPress Codex

Assim como existe o Manual do PHP para o PHP, existe o WordPress Codex para desenvolvedores WordPress.

O Codex tem o formato de Wiki e traz praticamente tudo sobre tudo relacionado ao desenvolvimento para WordPress, como arquivos, base de dados, funções, exemplos, recursos e assim por diante.

Salve este link em seus favoritos (http://codex.wordpress.org/), pois você vai acessar esse site algumas vezes durante seu desenvolvimento.

Familiarize-se com a funcionalidade do Codex antes de iniciar seu novo projeto.

Instale o WordPress em seu computador local

O WordPress já vem pronto para o uso, você só precisa de um servidor WAMP (ou MAMP, LAMP, etc…) no seu computador, e já está pronto para criar o seu ambiente de desenvolvimento.

Felizmente, já criei um tutorial bem detalhado sobre "Como instalar ou mover o WordPress " (com vídeo).

O que alterar?

Depois que você instala o WordPress, vai se deparar com alguns arquivos dentro da pasta que você escolheu:

Pasta do WordPress

Dentre esses arquivos, a única coisa que interessa ao desenvolvedor é a pasta wp-content. Dentro dela você vai encontrar as pastas "themes" (para temas) e "plugins" (para plugins). Essas são as duas pastas que mais acesso no WordPress.

Dentro da pasta themes você vai encontrar todos os temas disponíveis no seu blog; dentro da pasta plugins você vai ver todos os plugins instalados no seu WordPress.

É nelas que você vai se aventurar pelo mundo da programação e criar coisas incríveis.

Observação: Não é recomendado alterar arquivos que não estão presentes nas pastas "wp-content/themes" ou "wp-content/plugins" (a não ser que você saiba os riscos).

E o resto?

Você pode alterar arquivos de quaisquer pastas, como "wp-admin" ou "wp-includes", porém, NÃO É RECOMENDADO que faça isso.

O WordPress é um CMS que é atualizado constantemente, e os arquivos das pastas "wp-admin' ou "wp-includes" (núcleo do WordPress) podem sofrer severas alterações.

Se você instalar uma atualização, quaisquer alterações feitas nos arquivos do núcleo serão em vão, pois serão sobrescritas.

Resumindo, é perda de tempo alterar arquivos nas pastas "wp-admin' ou "wp-includes".

Se você precisa de uma funcionalidade que não encontrou no WordPress, considere criar um Plugin, ou utilizar outro CMS que resolva melhor o seu problema.

Hierarquia de arquivos de temas WordPress

Um tema WordPress é uma pele que vai diferenciar o modo com que seu site apresenta o conteúdo. As possibilidades de temas são infinitas, pois, cada um pode exibir conteúdo a gosto do desenvolvedor.

Arquivos de temas ficam dentro da pasta themes, dentro de outra pasta com o nome do tema.

Além disso, existe uma hierarquia de arquivos que faz toda a diferença (você vai entender melhor mais adiante nesse artigo).

Qualquer tema deverá ter pelo menos dois arquivos: index.php e style.css.

Index.php e demais arquivos da hierarquia

O arquivo index.php é utilizado para exibir tudo caso outros arquivos da hierarquia não estejam presentes, ou seja, ele serve de fallback caso você não tenha interesse em estilizar cada área do seu site (Categorias, pesquisa, páginas, etc…).

Se você precisar de um estilo diferente para qualquer área, basta criar um arquivo daquela área e colocar o conteúdo que desejar.

Atualmente o WordPress disponibiliza a seguinte hierarquia de arquivos: 

Hierarquia de Arquivos de Tema WordPress

Leia mais em Hierarquia de Modelos WordPress.

Além disso, você também vai precisar de dois arquivos que farão o cabeçalho e o rodapé do seu site. São eles:

  • header.php
  • footer.php

Com todos os arquivos da hierarquia, você pode criar temas totalmente diferentes, só depende da sua imaginação.

O arquivo style.css

O arquivo style.css, além de carregar o estilo que seu site vai apresentar, também carrega informações do seu tema. Por exemplo:

/*
Theme Name: Nome do tema
Theme URI: URL do Tema
Author: Autor do tema

Author URI: URI do autor
Description: Descrição do tema.
Version: Versão
License: Licença do Tema
License URI: URI da licença
Tags: Tags, Separadas, Por, Vírgula 
Text Domain: Text Domain do tema.
*/

Isso será apresentado na área administrativa do usuário quando ele for escolher o tema do seu blog.

Para você começar a aprender, sugiro que verifique os arquivos dos temas que vem por padrão no WordPress, eles utilizam milhares de recursos do CMS e vão lhe passar grande conhecimento.

As funções do WordPress

Conforme descrevi anteriormente, o WordPress é um CMS escrito inteiramente em PHP, são milhares de classes e funções que fazem tudo funcionar conforme esperado.

Dentre as milhares de funções, existem as template tags (tag de template) e as conditional tags (tags de condições).

.Template tags

As template tags são simplesmente funções definidas pelos desenvolvedores do WordPress que fazem coisas como mostrar título, mostrar informações do blog, URLs e assim por diante.

Por exemplo:

 <?php get_header(); ?> 

A template tag (também conhecida como include tag) acima inclui o arquivo header.php no arquivo do seu tema.

Outro exemplo, seria utilizar a mesma tag com um parâmetro de $nome que seria o mesmo que você incluir um arquivo header-nomeescolhido.php.

Por exemplo, suponhamos que você tenha uma parte do seu tema que irá exibir um cabeçalho totalmente diferente (planos, por exemplo). Você poderia criar outro arquivo com o novo cabeçalho chamado header-planos.php e utilizar:

 <?php get_header('planos'); ?> 

Para incluir o novo cabeçalho.

Seria inviável falarmos sobre todas as template tags nesse artigo, porém, você pode acessar o Codex para maiores informações.

Conditional tags

As conditional tags também são funções já definidas pelos desenvolvedores do WordPress, porém, seu papel é apenas condicional, ou seja: faça isso; se aquilo for verdadeiro.

Um exemplo muito utilizado por todos os desenvolvedores, é a verificação do tipo de conteúdo que está sendo acessado, por exemplo:

<?php
if ( is_404() ) {
	// Executa uma ação se for um ERRO 404
}
?>

As conditional tags só serão utilizadas em blocos if/else/elseif ou switch.

Mais sobre desenvolvimento de temas

Para maiores informações sobre desenvolvimento de temas para WordPress, você pode ver os links:

Todos os links são do Codex e vão ajudar para que você inicie a criação de seu primeiro tema.

Se você não tiver muita urgência, aguarde que nós vamos criar uma série de tutoriais detalhando como criar temas WordPress.

Padrões de codificação do WordPress

O WordPress mantém um padrão para o modo que o código deve ser escrito, este padrão se aplica para todas as linguagens: PHP, CSS, HTML e JavaScript.

Felizmente, já escrevi sobre isso aqui no Tutsup, veja mais em:

É só ler e seguir as regras.

Concluindo

Essas foram algumas dicas para mostrar por onde você deve começar a pesquisar para aprender a desenvolver temas e plugins para WordPress, o resto é com você.

Por outro lado, se você continuar seguindo o Tutsup, vai aprender a criar qualquer coisa para WordPress, pois vamos explicar tudo o que você precisa saber.