O WordPress usa um banco de dados para armazenar, recuperar e exibir todo o conteúdo que você cria no seu site. Isso inclui posts, páginas, comentários e muito mais.
O banco de dados também é usado para armazenar informações sobre os usuários do seu site’s e várias opções do site que fazem seu site funcionar.
Como você aprendeu na lição Servidores Web, o WordPress usa o MySQL. O MySQL é um sistema de gerenciamento de banco de dados gratuito e de código aberto usado por muitos aplicativos web populares.
Interagindo com seu banco de dados do WordPress
Há algumas maneiras de interagir diretamente com seu banco de dados do WordPress.
A maioria dos ambientes de desenvolvimento local ou empresas de hospedagem usa uma ferramenta gratuita chamada phpMyAdmin. O phpMyAdmin é uma ferramenta baseada na web que permite interagir com seu banco de dados do WordPress usando um navegador web.
Uma alternativa ao phpMyAdmin é uma ferramenta chamada Adminer. O Adminer é um único arquivo PHP que você pode enviar para o seu site e fornece uma interface semelhante à do phpMyAdmin. Algumas empresas de hospedagem e ambientes de desenvolvimento local preferem usar o Adminer em vez do phpMyAdmin.
Por fim, se você não tiver acesso a nenhum dos dois, também poderá instalar um plugin chamado SQL Buddy.
Este é um plugin gratuito do WordPress que fornece uma interface semelhante à do phpMyAdmin e do Adminer, mas é executado dentro do painel do WordPress.
Se você decidir usar o SQL Buddy, lembre-se de desativar e excluir o plugin quando terminar de usá-lo. Deixá-lo instalado no seu site representa um possível risco de segurança.
Tabelas do banco de dados
Para os fins desta lição, usaremos o PhpMyAdmin para inspecionar as tabelas do banco de dados.
O banco de dados do WordPress é composto por muitas tabelas. Cada tabela armazena um tipo diferente de dado do seu site.
Cada tabela tem o mesmo prefixo, que é definido no arquivo wp-config.php. Por padrão, o prefixo é wp_, mas você pode alterá-lo para qualquer coisa que quiser durante o processo de instalação do WordPress.
Vamos começar examinando as tabelas mais importantes para gerenciar conteúdo.
wp_posts e wp_postmeta
A tabela wp_posts provavelmente é a tabela mais importante de um site WordPress e armazena informações sobre os posts, páginas ou qualquer outro tipo de post personalizado do seu site. Cada linha da tabela wp_posts representa um único post. A tabela wp_postmeta permite armazenar informações adicionais sobre cada post. Os metadados dos posts também são frequentemente chamados de campos personalizados.
wp_comments e wp_commentmeta
A tabela wp_comments armazena informações sobre os comentários dos seus posts e páginas. Sempre que alguém comenta em um post ou página, esse comentário é armazenado nessa tabela. Cada linha da tabela wp_comments representa um único comentário. A tabela wp_commentmeta pode armazenar informações adicionais sobre cada comentário.
wp_user e wp_usermeta
A tabela wp_users armazena todas as informações sobre os usuários do seu site’s. Cada linha da tabela wp_users representa um único usuário. Assim como outras tabelas de metadados, a tabela wp_usermeta pode armazenar informações adicionais sobre cada usuário.
Funções para interagir com posts, comentários e usuários
Para todas as tabelas do banco de dados do WordPress, existem funções que você pode usar para interagir com essa tabela.
Essas funções fazem parte da API de Banco de Dados do WordPress.
Todas essas funções podem ser encontradas usando o recurso de pesquisa na documentação para desenvolvedores do WordPress, em Referência de Código.
De modo geral, as funções que você pode usar para interagir com o banco de dados do WordPress seguem um padrão semelhante.
Há uma função de inserção, uma função de atualização e uma função de exclusão.
Elas geralmente têm o mesmo nome, com o prefixo wp_ seguido pela ação e pelo nome da tabela.
Vamos usar estas funções para posts como exemplo:
wp_insert_posté a função para criar um novo postwp_update_posté a função para atualizar um post existentewp_delete_posté a função para excluir um post
Depois, geralmente há funções para buscar todos os registros de uma tabela ou um único registro.
Elas geralmente têm o mesmo nome, com o prefixo get_ seguido pelo nome singular ou plural da tabela.
Por exemplo, get_posts é a função para buscar uma coleção de posts.
E get_post é a função para buscar um único post.
Cada uma dessas funções normalmente tem vários parâmetros que você pode usar para filtrar os resultados retornados.
Também há funções para interagir com quaisquer tabelas de metadados, geralmente para inserir, atualizar ou excluir campos de metadados.
Elas geralmente têm o mesmo nome, com a ação seguida pelo nome singular da tabela e por _meta.
Por exemplo, para posts, add_post_meta é a função para inserir um campo de metadados.
Da mesma forma, update_post_meta é a função para atualizar um campo de metadados e delete_post_meta é a função para excluir um campo de metadados.
wp_terms, wp_termmeta, wp_term_relationships e wp_term_taxonomy
As tabelas wp_terms, wp_termmeta, wp_term_relationships e wp_term_taxonomy são as tabelas que gerenciam as categorias e tags do seu site WordPress.
A tabela wp_terms armazena informações sobre os termos do seu site’s. Cada linha da tabela wp_terms representa um único termo. Internamente, categorias e tags são termos.
O que determina se eles são uma categoria ou uma tag é a taxonomia à qual estão associados, armazenada na tabela wp_term_taxonomy.
A tabela wp_term_relationships armazena os relacionamentos entre os termos e seus objetos principais, seja um post, uma página ou um tipo de post personalizado.
Por fim, a tabela wp_termmeta pode armazenar informações adicionais sobre cada termo.
Funções para interagir com termos e taxonomias
Assim como ocorre com as funções para interagir com posts, comentários e usuários, também há funções para interagir com termos e taxonomias, que podem ser encontradas pesquisando por termo ou taxonomia na Referência de Código do WordPress.
wp_options
A tabela wp_options armazena informações sobre as configurações do seu site’s. Cada linha da tabela wp_options representa uma configuração específica. Por exemplo, a opção siteurl armazena a URL do seu site, e a opção blogdescription armazena o slogan do seu site. A tabela wp_options também armazena informações sobre o tema ativo e os plugins ativos do seu site.
Os dados são armazenados na tabela wp_options usando um formato de chave-valor. A chave é o nome da opção, e o valor é o valor da opção.
Também é possível armazenar dados serializados na tabela wp_options. Dados serializados são uma string que contém vários valores. Dados serializados são frequentemente usados para armazenar arrays e objetos de dados. Um bom exemplo disso é a lista de plugins ativos, que é armazenada como um array serializado.
Funções para interagir com opções
A Options API normalmente é usada junto com a Settings API para criar páginas de configurações para o painel do WordPress, seja por meio do núcleo, de plugins ou de temas. A Options API fornece funções para interagir com a tabela wp_options, como add_option, update_option e delete_option.
wp_links
A tabela wp_links armazena informações sobre os links do seu site’s. Links era um recurso que foi removido do WordPress na versão 3.5.
No entanto, como ainda é possível reativar essa funcionalidade usando o plugin Links Manager, a tabela foi mantida por compatibilidade com versões anteriores.
Conclusão
Ser capaz de identificar corretamente e interagir com as tabelas de um banco de dados do WordPress é uma habilidade extremamente útil e ajudará você a entender melhor como o WordPress funciona ao desenvolver com WordPress.