Como o WordPress Realmente Funciona nos Bastidores (Infográfico)

Entender como o WordPress funciona nos bastidores pode ser fascinante. Para a maioria dos usuários, parece simples: digite um URL e uma página carrega rapidamente. No entanto, há muita coisa acontecendo em segundo plano.

Quando começamos a trabalhar com o WordPress há vários anos, investigamos a fundo como tudo funciona. E agora, estamos aqui para compartilhar esse conhecimento com você em termos simples para que você possa entender mais sobre o WordPress.

Neste guia, vamos guiá-lo pelos mecanismos internos do WordPress. Também criamos um infográfico fácil de seguir para tornar as coisas mais claras.

Como o WordPress Funciona nos Bastidores

O que é WordPress?

WordPress é um construtor de sites e sistema de gerenciamento de conteúdo. É um software de código aberto que qualquer pessoa pode usar para criar qualquer tipo de site.

Começou como uma plataforma de blog em 2003, mas logo se transformou em um CMS e, posteriormente, em uma plataforma completa para criação de sites. Hoje, ele impulsiona mais de 43% de todos os sites na internet.

Para saber mais sobre sua evolução, história, prós e contras, veja nosso guia completo sobre o que é o WordPress e quanto custa construir um site WordPress.

Por que você deveria aprender como o WordPress funciona?

WordPress é um software de código aberto, o que significa que qualquer pessoa pode estudar seu código e escrever seus próprios aplicativos (plugins) e modelos (temas) para ele.

Ao longo dos anos, vimos inúmeros iniciantes se tornarem rapidamente usuários avançados simplesmente aprendendo como o WordPress funciona como software.

Ele também ensinará você sobre como melhorar o desempenho do WordPress e escrever um código melhor para seus projetos.

Este guia o guiará por todo o processo passo a passo. Começaremos quando um usuário solicitar uma página e terminaremos quando essa página for totalmente carregada.

Pronto? Vamos começar.

Clique para ver o infográfico do WordPress nos Bastidores

Você também pode seguir nosso tutorial escrito abaixo para mais detalhes.

1. Carregar o arquivo wp-config.php

O wp-config.php é o arquivo de configuração do WordPress. Ele define variáveis globais para um site WordPress e contém as informações do seu banco de dados WordPress. Por razões óbvias, este é o primeiro arquivo que o WordPress carrega.

Saiba mais sobre o arquivo wp-config.php e como editá-lo.

2. Configurar Constantes Padrão

Após carregar o arquivo wp-config.php, o WordPress passará a definir as constantes padrão.

Isso inclui informações como o local de upload padrão do WordPress, tamanhos máximos de arquivo e outras constantes padrão definidas no arquivo wp-config.php.

3. Carregar o arquivo advanced-cache.php

Se um arquivo advanced-cache.php existir em seu site, o WordPress o carregará em seguida.

Este arquivo funciona como um arquivo de substituição e é usado por vários plugins populares, particularmente plugins de cache do WordPress. Se o seu site usa este arquivo, você verá um novo item na tela de Plugins chamado 'Substituições'.

arquivo advanced-cache.php aparecendo como drop-in

4. Carregar o arquivo wp-content/db.php

O WordPress permite que os desenvolvedores criem suas próprias camadas de abstração de banco de dados e as carreguem em um arquivo db.php colocado dentro da pasta wp-content. Plugins de cache do WordPress o utilizam comumente para melhorar o desempenho do banco de dados.

Se o seu site tiver este arquivo presente, o WordPress o carregará.

5. Conectar ao MySQL e Selecionar Banco de Dados

O WordPress agora tem informações suficientes para prosseguir. Ele se conectará ao servidor MySQL e selecionará o banco de dados.

Se o WordPress não conseguir se conectar ao banco de dados, você verá o erro "Erro ao estabelecer conexão com o banco de dados", e o WordPress encerrará aqui.

Se tudo funcionar bem, ele passará para as próximas etapas.

6. Carregar o arquivo object-cache.php ou wp-includes/cache.php

O WordPress agora procurará o arquivo object-cache.php. Se ele não existir, o WordPress continuará carregando o arquivo wp-includes/cache.php.

7. Carregar Arquivo wp-content/sunrise.php

Se for uma rede multisite, o WordPress procurará o arquivo sunrise.php se ele existir na pasta wp-content.

8. Carregar Biblioteca de Localização

O WordPress agora carregará a biblioteca l10n.php na pasta wp-includes. Este arquivo carrega o sistema de localização do WordPress, carrega traduções, define locais, etc.

Você pode ver nosso guia sobre como usar o WordPress em outras línguas.

9. Carregar Plugins Multisite

Se for uma rede multisite, o WordPress carregará os plugins multisite. Saiba mais sobre como os plugins funcionam em redes WordPress multisite.

Plugins ativados na rede

10. Executar Ação ‘muplugins_loaded’

A ação muplugins_loaded é agora executada pelo WordPress. Esta ação está disponível apenas para plugins ativados na rede em um WordPress multisite.

11. Carregar Plugins Ativos

O WordPress agora carregará todos os plugins ativos no site. Ele faz isso procurando na entrada active_plugins na tabela de opções do seu banco de dados WordPress. Isso permite que o WordPress ignore plugins que estão instalados no seu site, mas não ativados.

12. Carregar Arquivo pluggable.php

O arquivo pluggable.php contém funções que podem ser redefinidas por plugins do WordPress.

O WordPress agora verificará se outro plugin já definiu as funções dentro deste arquivo. Caso contrário, ele definirá essas funções por conta própria.

13. Executar Ação ‘plugins_loaded’

O WordPress agora executará a ação ‘plugins_loaded’.

Isso permite que os desenvolvedores conectem suas funções para serem executadas após todos os plugins ativos terem sido carregados.

14. Carregar Regras de Reescrever

O WordPress agora carregará as regras de reescrita. Essas regras de reescrita ajudam o WordPress a usar URLs amigáveis para SEO.

15. Instanciar $wp_query, $wp_rewrite, $wp

Neste ponto, o WordPress carrega os seguintes objetos:

$wp_query: A instância global que contém a classe WP_Query. Ela informa ao WordPress qual conteúdo é solicitado em um formato de consulta típico do WordPress.

$wp_rewrite: A instância global que contém sua classe WP_Rewrite. Ela contém suas regras e funções de reescrita, que informam ao WordPress qual URL usar para exibir o conteúdo solicitado.

$wp: A instância global da classe WP contém funções que analisarão sua solicitação e executarão a consulta principal.

16. Executar Ação ‘setup_theme’

O WordPress agora passará a executar a ação ‘setup_theme’. Esta ação é executada antes que seu tema do WordPress seja carregado.

17. Carregar Arquivo functions.php do Tema Filho

O arquivo functions.php atua como um plugin e é usado em temas do WordPress para adicionar recursos específicos do tema ao seu site. Se você estiver usando um tema filho, o WordPress carregará o arquivo functions.php do seu tema filho.

Caso contrário, ele continuará e carregará o arquivo functions.php do seu tema ativo atual.

18. Carregar o arquivo functions.php do tema pai

Se você estiver usando um tema filho, o WordPress carregará agora o arquivo functions.php do seu tema pai.

19. Executar a ação 'after_setup_theme'

Esta ação é executada após o WordPress ter configurado o tema e carregado as funções do tema. É a primeira ação disponível para temas.

20. Configurar o Objeto do Usuário Atual

Neste ponto, o WordPress carrega o objeto do usuário atual. Isso permite que o WordPress gerencie a solicitação de acordo com a função e as capacidades do usuário.

21. Executar a ação 'init'

O WordPress carregou até agora todas as informações cruciais de que precisa. Agora, ele dispara a ação 'init'. Esta ação também registra os blocos que estão disponíveis no núcleo ou fornecidos por quaisquer plugins instalados nesse site.

Esta ação permite que os desenvolvedores adicionem código que precisa ser executado após o WordPress ter carregado todas as informações mencionadas anteriormente.

22. Executar a ação 'widget_init'

A ação widget_init permite que os desenvolvedores registrem widgets e executem o código que precisam executar neste momento.

23. Executar wp()

O WordPress agora chama a função wp(), que está localizada no arquivo wp-includes/functions.php. Ela configura as globais de consulta do WordPress $wp, $wp_query, $wp_the_query e, em seguida, chama $wp->main.

24. Analisar Requisição

Agora o WordPress tem todas as informações de que precisa para analisar a requisição do usuário. Ele começa verificando as regras de reescrita para corresponder à requisição do usuário.

Em seguida, ele executa filtros de variáveis de consulta, solicita um hook de ação e envia uma requisição de cabeçalho.

25. Executar Consulta

Se nenhum conteúdo corresponder à consulta, o WordPress definirá a variável is_404.

Caso contrário, o WordPress continuará a carregar as variáveis de consulta.

Em seguida, ele executará WP_Query->get_posts().

Em seguida, ele dispara a ação DO_ACTION_REF_ARRAY ‘pre_get_posts’ com o objeto WP_Query.

O WordPress agora executará apply_filters para limpar a consulta e realizar algumas verificações finais.

Agora, ele busca posts do banco de dados e aplica os filtros posts_results e the_posts.

A parte da consulta termina com o WordPress retornando os posts.

26. Do Action ‘template_redirect’

O WordPress agora executará a ação template_redirect. Este hook é executado pouco antes do WordPress determinar qual página de template carregar.

27. Carregar Template de Feed

Se o conteúdo solicitado for um feed RSS, o WordPress carregará o template de feed.

28. Carregar Template

O WordPress agora procurará o arquivo de template com base na hierarquia de templates do WordPress. Em seguida, ele carregará o template, que geralmente contém um loop do WordPress.

29. Executar a ação ‘shutdown’

Pouco antes de encerrar toda a execução do PHP, o WordPress dispara a última ação chamada shutdown.

O WordPress para de funcionar aqui. Ele executou o código e gerou a página da web solicitada pelo usuário.

Agora, seu servidor de hospedagem web responde à solicitação de um usuário enviando a página da web gerada pelo WordPress.

Esta página contém código HTML, CSS e Javascript, que dizem ao navegador do usuário como exibi-la na tela.

Incrível, não é? Todas essas coisas acontecem em milissegundos. Se você estiver usando um destes melhores serviços de hospedagem WordPress, sua página idealmente carregará em alguns segundos.

Esperamos que este artigo tenha ajudado você a aprender como o WordPress funciona nos bastidores. Você também pode querer ver nossas dicas sobre proteger a área de administração do WordPress ou dar uma olhada neste guia com dicas, truques e hacks úteis do WordPress.

Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

37 CommentsLeave a Reply

  1. Eu nunca pensei em como todo o processo funciona, e este é o primeiro artigo que encontrei que explica esses detalhes. É um pouco mais técnico, e nem todo mundo pode apreciar, mas valorizo que você tenha criado este infográfico porque nunca vi nada parecido antes. Foi muito interessante para mim ver todo o processo passo a passo.

  2. Esta análise é incrivelmente esclarecedora!
    A explicação passo a passo do processo de carregamento foi particularmente valiosa e a seção sobre como o WordPress carrega e executa vários arquivos (como wp-config.php, advanced-cache.php e object-cache.php) realmente me ajudou a entender por que certas otimizações funcionam da maneira que funcionam.

  3. É muito, muito interessante ver como as páginas carregaram nos bastidores e o que acontece quando um usuário faz uma solicitação.
    Você explicou muito bem com a ajuda de infográficos.
    Isso nos faz pensar que tantas coisas acontecem em um piscar de olhos.
    Isso é tão poderoso e tão empoderador para onde a tecnologia nos levou.
    Eu realmente aprecio este artigo por descrever lindamente o aspecto dos bastidores de um site.

  4. Esta é a primeira vez que vejo um resumo tão completo de tudo o que acontece em segundo plano antes que uma página seja gerada. Devo admitir que não encontrei informações tão detalhadas em nenhum outro lugar. Quando considero quantos processos precisam ocorrer antes que uma página carregue e que o WordPress e o servidor gerenciam tudo em um segundo, é fantástico o que os servidores e sistemas de hoje podem fazer.

    • Concordo plenamente. Este infográfico é um recurso fantástico para quem deseja entender a mágica por trás do WordPress. Ele realmente destaca a complexa maquinaria que transforma código e dados nas páginas web dinâmicas que vemos todos os dias.

  5. hm – sinto falta da etapa 0

    então esta é uma suposição correta`?

    uma URL chega ao meu servidor web hospedado
    solicitando, digamos, minha página inicial

    então o servidor web inicia o passo (1)?
    que então executa até o passo (24)
    onde o WP analisa a URL de entrada para descobrir os próximos passos?

    • A etapa 0 pode certamente ser um link para o site, por volta da etapa 15 é onde a página específica seria considerada.

      Admin

  6. E quanto ao index.php na raiz?

    Não entendi... Existem guias por aí que apresentam uma sequência totalmente diferente de inicialização do WordPress.

  7. Oi wpbeginner.
    Notei que na sua sequência, você mencionou que o wp faz isso e depois aquilo. Fisicamente, onde está a instância do wp()? No servidor? Isso acontece entre uma solicitação de postagem de carregamento inicial de página quando uso o navegador do Google e o carregamento final do painel do wp após o login?

  8. Eu sou um programador. Estou me aprofundando no design de páginas web, no entanto, não consigo deixar de querer saber o que está acontecendo nos bastidores. Seu artigo me deu uma base para começar a construir páginas web com confiança.

  9. Isso é brilhante. Tive vários problemas com plugins antigos e expirados, atualizando PHP, etc., e um vírus (provavelmente por causa dos itens anteriores). Então, tudo está bloqueado e limpo agora, mas queria entender melhor a sequência de eventos, pois olhar para qualquer arquivo PHP é como tentar ler uma tigela de espaguete, pois eu não entendia a sequência das atividades. Então, absolutamente incrível. Adorei isso.

    Obrigado

  10. Eu quero realmente saber o que o WordPress faz, como posso criar e compartilhar posts através do WordPress? O que ele faz por mim além de criar um site?

  11. Interessante, mas não é realmente uma definição de como o WordPress funciona. Isso descreve o que ele faz, não como ele faz. Seria útil saber também como ele faz as coisas, bem como o que ele faz. Por exemplo, como ele sabe qual tema carregar? Sem o como, tudo o que foi dito acima é muito genérico.

  12. 17. Carregar Arquivo functions.php do Tema Filho

    O arquivo functions.php atua como um plugin e é usado em temas do WordPress para adicionar recursos específicos do tema ao seu site. Se você estiver usando um tema filho, o WordPress carregará o arquivo functions.php do seu tema filho.

    Caso contrário, ele continuará e carregará o arquivo functions.php do seu tema ativo atual.

    18. Carregar o arquivo functions.php do tema pai

    [ Se você estiver usando um tema filho ], então o WordPress carregará o arquivo functions.php do seu tema pai.

    verifique o texto entre colchetes e combine toda a redação aqui será substituída [ se você estiver usando um tema pai ].

    Obrigado.

    • Amir, acho que o OP está tentando dizer que, se houver um tema filho, obviamente haverá um tema pai e filho functions.php e o WordPress primeiro carrega o functions.php do tema filho antes de carregar o do pai. Caso contrário, ele apenas carrega o functions.php do pai diretamente.

  13. E as pessoas se perguntam por que os sites WordPress são lentos. Ele faz tudo isso em tempo de execução para cada visualização de página!

  14. Você estaria disposto a oferecer isso como um pôster impresso? Não sei se isso geraria muito interesse ou lhe renderia algum dinheiro, mas como é um gráfico tão bonito, pode ficar bem na parede do escritório.

  15. Obrigado por este artigo. Queria saber há muito tempo
    os diferentes passos para o carregamento.

    O que é uma camada de abstração de banco de dados e como configurá-la?

Deixar uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.