O WordPress é, sem sombra de dúvidas, o maior CMS que já existiu. Entretanto, poucas pessoas conhecem a sua estrutura de arquivos, sendo eles organizados de forma completamente otimizada para possibilitar a expansão de suas funcionalidades através de plugins e temas.
Para usuários iniciantes, conhecer essa estrutura dará a oportunidade de compreender como um CMS funciona. Para usuários avançados, conhecer os arquivos e pastas essenciais pode auxiliar na criação e alteração de pontos importantes da instalação do WordPress, bem como no desenvolvimento de temas.
Além do mais, compreender a estrutura de arquivos do WordPress te ajuda também a realizar alterações significativas como correções de erros, backups ou reinstalações, quando necessárias. Fica o lembrete que já escrevemos as Melhores Práticas para Editar Arquivos do Seu Site.
Por isso, seja para matar a sua curiosidade ou para te fazer entender mais sobre seu site, explicaremos nesse artigo como a estrutura de arquivos do WordPress funciona, o que cada arquivo faz e quais pastas merecem mais atenção.
O que é o WordPress (de verdade)
Antes de falarmos da estrutura de pastas do WordPress, precisamos conversar sobre o que de fato é ele. O WordPress é um programa web construído em uma linguagem de programação chamada PHP. Através dessa linguagem, arquivos são escritos com os mais variados propósitos e todos eles, em conjunto, formam o WordPress.
Normalmente, cada pasta possui arquivos com funções similares, de forma a organizar a implementação de novas funcionalidades em áreas específicas do CMS. Falaremos sobre elas a seguir:
A estrutura de arquivos do WordPress: todos os arquivos que compõem o CMS
Para usar o WordPress, é necessário, antes de tudo, instalá-lo no seu servidor. Se fez isso de forma manual, já deve ter se deparado alguma vez com o diretório raiz. Ele contém os seguintes arquivos e pastas (deixamos abaixo apenas as principais, mas sua instalação pode vir com diversos arquivos diferentes):
- wp-admin (pasta)
- wp-content (pasta)
- wp-includes (pasta)
- .htaccess
- index.php
- wp-load.php
- wp-login.php
- wp-settings.php
A lista acima pode ser assustadora para muitas pessoas, mas cada arquivo desse possui uma função vital que será explicada nos tópicos abaixo.
Arquivos e pastas principais do WordPress
wp-admin (pasta)
O wp-admin é o diretório que configura toda a experiência do painel do WordPress, ou seja, da área que acessa para utilizar a sua instalação. Ele possui arquivos essenciais para o bom funcionamento da parte administrativa, sendo eles:
- admin.php: arquivo interno que configura o painel de controle do site.
- index.php: responsável por carregar as páginas requisitadas pelo usuário.
- install.php: instala o WordPress, quando solicitado.
- plugins.php: controle todos os plugins vinculados a instalação, tanto os ativos quanto inativos.
- themes.php: similar ao arquivo anterior, mas com foco em gerenciar os temas instalados, estando ativos ou não.
- user.php: gerencia os usuários, bem como as permissões que possuem.
wp-includes (pasta)
A pasta wp-includes contém todo o software interno do seu site WordPress. Ele possui bibliotecas e o código fonte do WordPress. Essa parte de código, por ser uma das mais importantes, é essencial para qualquer outra aplicação do CMS.
Logo, é estritamente proibido alterar qualquer arquivo desse diretório e dificilmente algum tutorial te solicitaria algo assim.
A única exceção seria o arquivo functions.php, já que ele possui os códigos de todas as funções do seu site. Ele é um arquivo especial porque funciona em conjunto com functions.php (sim é o mesmo nome) do tema ativo, um conjunto de códigos de forma a expandir a funcionalidade do tema.
Index.php
Um arquivo index é o responsável por mostrar o seu site quando solicitado pelo visitante. Ele, a grosso modo, entende o que o usuário solicita, inicializa o que é necessário dos códigos internos do WordPress e mostra o que foi pedido.
O index é primordial porque, em uma situação hipotética, caso seu site não possua, ao invés da página inicial, será mostrado todo o diretório para quem acessou. Além disso ser um problema absurdo de usabilidade, é ainda muito pior em relação à segurança. Em alguns casos, como forma de proteger a instalação, o WordPress apresenta uma tela em branco (muitas vezes sendo um bug bem conhecido na comunidade).
O arquivo index é um arquivo a nível de diretório e será visto na maioria das pastas e subpastas do WordPress (ou seja, a maioria dos diretórios possuem um arquivo desse tipo).
Arquivos de configuração do WordPress
Existem alguns arquivos no WordPress que possuem o papel direto de configuração da instalação no servidor. Diferente dos arquivos essenciais do WordPress, que listamos no tópico anterior, esses normalmente são solicitadas alterações em tutoriais e tendem a ser menos instáveis à modificações.
wp-config.php
O arquivo wp-config.php é utilizado para guardar as informações de conexão com o banco de dados, chaves de segurança e o prefixo das tabelas do banco. Sabe aquela tela padrão de instalação do WordPress quando se acessa pela primeira vez? Ela modifica esse arquivo.
Por ser de um conteúdo sensível, é frequentemente alvo de ataques hackers. Afinal de contas, se abrir o seu arquivo wp-config.php, verá de forma clara (sem criptografia nem nada) o seu usuário de banco de dados, a senha dele e qual o banco conectado.
As chaves de segurança contidas nesse arquivo são um mecanismo de criptografia usado pelo WordPress para autenticar os usuários de forma segura. Nas situações que achar que a segurança de uma conta foi comprometida, é essencial que se mude as chaves já definidas.
O arquivo wp-config também possui um recurso interessante de debug. Embora seja desabilitado por padrão, pode ser iniciado através do wp-config, mostrando todos os erros e avisos do PHP. Em uma situação de desenvolvimento, claro, uma vez que ter seus erros expostos pode fazer o site não carregar ou expor falhas de segurança.
.htaccess
O arquivo .htaccess é essencial para a configurações de rotas e links do seu site. Recursos como a estrutura de links permanentes (também conhecido como permalinks), redirecionamentos, bloqueio de endereço de e-mail, dentre outros recursos, utilizam o .htaccess para isso.
Em alguns clientes FTP ou até mesmo dentro de pastas no computador, quando baixado, o .htaccess talvez esteja oculto. Para mostrá-lo, é necessário autorizar a visualização de arquivos ocultos no seu cliente FTP ou no explorador do seu sistema operacional.
Em servidores que usam o nginx ao invés do apache, esse arquivo não será utilizado.
wp-content (pasta)
Como o nome indica, a pasta wp-content guarda todos os conteúdos da sua instalação do WordPress. Por exemplo, imagens, plugins e temas são sub-diretórios dessa pasta. Falaremos sobre cada uma a seguir.
Plugins (pasta)
A pasta plugins guarda cada um dos plugins utilizados na sua instalação. Isso significa que todas as vezes que um novo plugin for instalado, ele poderá ter seus arquivos acessados por meio da pasta especificada para ele.
Da mesma forma, é possível desativar esses plugins alterando o nome padrão da pasta direcionada a eles. Isso acontece porque o nome do diretório é essencial para o funcionamento.
Saber disso é útil para desativar possíveis plugins que estejam a causar problemas, especialmente quando se perde acesso a área administrativa do CMS.
É possível também instalar plugins via FTP ou gerenciador de arquivos através dessa pasta. Para isso, basta enviar e deszipar a pasta do plugin e inseri-la junto com as outras.
Do mesmo modo, para deletar plugins, basta remover o diretório correspondente.
Uploads (pasta)
O diretório uploads tem a função de guardar todos os arquivos enviados pelos usuários da sua instalação e seus visitantes. Ele está relacionado diretamente a tudo aquilo que é visível na galeria de mídia do seu site. Em outras palavras, todas as vezes que envia uma imagem para o WordPress (para usar em determinado post), ela será enviada (em diferentes formatos) para essa pasta.
Em backups, por exemplo, essa pasta tem uma importância significativa. Junto com o banco de dados, é ela que faz a sua instalação ser única.
Themes (pasta)
A pasta themes é a responsável por guardar os códigos dos temas instalados no seu servidor, tanto os ativos, quanto os inativos. Similar ao que explicamos sobre plugins, no tópico anterior, ao inserir ou excluir qualquer uma dessas pastas, é possível instalar ou desinstalar temas específicos.
Estrutura de arquivos de um tema WordPress
Assim como o CMS de forma geral, os temas também precisam ser padronizados e seguirem uma hierarquia de arquivos (que já explicamos aqui) para serem aceitos no WordPress. Embora cada tema possua suas peculiaridades, trataremos sobre os arquivos principais que compõem a maioria deles.
index.php
Como já explicado, o arquivo index tem a função de trazer ao usuário às informações solicitadas por ele, de forma a entender qual página deverá ser exibida.
style.css
A folha de estilo principal do tema. Embora o WordPress reconheça o “style.css” como a folha de estilo padrão, é possível criar quantas quiser, desde que as carregue no seu tema (normalmente no header.php ou no functions.php). Temas mais simples utilizam apenas uma folha de estilo, enquanto os mais complexos carregam várias.
A folha de estilos do WordPress possui atributos que podem ser inseridos para serem mostrados no painel de controle da sua instalação e também no diretório oficial de temas. São eles:
- Theme Name: Nome do tema
- Theme URI: URL do tema
- Author: Nome do autor
- Author URI: URL do autor
- Description: Descrição do tema
- Version: Versão do tema
- License: Licença do tema
- License URI: URL da licença
- Tags: Tags que descrevem o tema (devem ser separadas por vírgula).
- Text Domain: Usado para tradução do seu tema.
header.php
O header.php é o cabeçalho do seu tema, normalmente onde ficará seu logotipo, título, menu e scripts. É parte essencial de todo template WordPress, já que é algo que estará presente em todas as páginas do site.
footer.php
Similar ao arquivo anterior, é onde fica o rodapé do site, bem como os scripts que fazem parte do tema.
404.php
O 404.php, como o nome indica, é o arquivo de resposta ao erro 404, quando a página não é encontrada. Se esse arquivo estiver em falta, é mostrada a mensagem padrão do servidor, algo não recomendado a fim de tornar a experiência do usuário positiva.
search.php
Arquivo responsável por mostrar a página de resultados de busca, assim como modificações a ela, se houverem. Normalmente, ela pode indicar termos recomendados, possibilidade de novas pesquisas e avisos caso não seja encontrado nada com os termos digitados.
single.php
O single.php mostra para os usuários as páginas individuais de cada post. Normalmente, nele, está contido título, metadados da publicação, imagens e o conteúdo do artigo.
page.php
Arquivo com a função parecida com o single.php, só que ao invés de mostrar as páginas individuais de cada post, mostra as páginas individuais que são padrão do WordPress. Normalmente, o template delas são bem parecidos, mas pode ser que determinado criador de tema os modifique.
frontpage.php
Arquivo de modelo da página inicial. Esse arquivo não é obrigatório devido a existência do index.php, mas nos casos em que for necessário uma página diferente para o início do site, muitos temas acabam o implementando.
category.php
Possui a função de mostrar a página de categorias, quando determinada categoria de um post é acessada e, com isso, é mostrado todos os artigos que estão contidos nela.
Conclusão: como funciona a estrutura de arquivos do WordPress
É essencial lembrar que falamos nesse artigo sobre a instalação padrão do WordPress. Caso verifique a sua e esteja diferente, o motivo para isso podem ser alterações causadas por plugins ou temas.
O Codex possui uma lista completa dos arquivos que vem na instalação básicas em conjunto com suas devidas funções. Para usuários mais curiosos, é uma forma de entender mais ainda sobre a estrutura de arquivos do WordPress.
Esperamos que esse conteúdo tenha te dado uma visão melhor de como o WordPress funciona e quais os principais arquivos envolvidos. Qualquer dúvida, por favor, entre em contato utilizando a seção de comentários do artigo. Um forte abraço!