Entender como o WordPress funciona nos bastidores pode ser fascinante. Para a maioria dos usuários, parece simples: digite um URL e a página será carregada rapidamente. No entanto, na verdade, há muita coisa acontecendo em segundo plano.
Quando começamos a trabalhar com o WordPress, há vários anos, fizemos um mergulho profundo em 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 orientá-lo sobre o funcionamento interno do WordPress. Também criamos um infográfico fácil de seguir para tornar as coisas mais claras.
O que é o WordPress?
O WordPress é um construtor de sites e um 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 de criação de sites. Atualmente, ela é responsável por mais de 43% de todos os sites da Internet.
Para saber mais sobre sua evolução, história e prós e contras, consulte nosso guia abrangente sobre o que é o WordPress e quanto custa construir um site WordPress.
Por que você deve aprender como funciona o WordPress?
O WordPress é um software de código aberto, o que significa que qualquer pessoa pode estudar seu código e escrever seus aplicativos (plug-ins) 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 o ensinará a melhorar o desempenho do WordPress e a escrever códigos melhores 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 estiver totalmente carregada.
Pronto? Vamos começar.
Você também pode seguir nosso tutorial escrito abaixo para obter 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 do WordPress e contém as informações do banco de dados do WordPress. Por motivos óbvios, esse é o primeiro arquivo carregado pelo WordPress.
Saiba mais sobre o arquivo wp-config.php e como editá-lo.
2. Configurar constantes padrão
Depois de carregar o arquivo wp-config.php, o WordPress passará a definir as constantes padrão.
Isso inclui informações como o local padrão de upload 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 houver um arquivo advanced-cache.php em seu site, o WordPress o carregará em seguida.
Esse arquivo funciona como um arquivo drop-in e é usado por vários plug-ins populares, especialmente os plug-ins de cache do WordPress. Se o seu site usar esse arquivo, você verá um novo item na tela Plugins chamado “Drop-ins”.
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. Os plug-ins de cache do WordPress geralmente o utilizam para melhorar o desempenho do banco de dados.
Se o seu site tiver esse arquivo, o WordPress o carregará.
5. Conecte o MySQL e selecione o 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 “Error establishing database connection” (Erro ao estabelecer conexão com o banco de dados), e o WordPress será encerrado aqui mesmo.
Se tudo funcionar bem, ele passará para as próximas etapas.
6. Carregue 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 passará a carregar o arquivo wp-includes/cache.php.
7. Carregar o 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. Esse arquivo carrega o sistema de localização do WordPress, carrega traduções, define locais, etc.
Consulte nosso guia sobre como usar o WordPress em outros idiomas.
9. Carregar plug-ins do Multisite
Se for uma rede multisite, o WordPress carregará os plug-ins multisite. Saiba mais sobre como os plug-ins funcionam em redes multisite do WordPress.
10. Do Action ‘muplugins_loaded’
A ação muplugins_loaded agora é executada pelo WordPress. Essa ação está disponível somente para plug-ins ativados pela rede em um multisite do WordPress.
11. Carregar plug-ins ativos
O WordPress agora carregará todos os plug-ins ativos no site. Ele faz isso procurando na entrada active_plugins na tabela de opções do seu banco de dados do WordPress. Isso permite que o WordPress ignore os plug-ins que estão instalados em seu site, mas não estão ativados.
12. Carregar arquivo pluggable.php
O arquivo pluggable.php contém funções que podem ser redefinidas pelos plug-ins do WordPress.
O WordPress agora verificará se outro plug-in já definiu as funções dentro desse arquivo. Caso contrário, ele mesmo definirá essas funções.
13. Do Action ‘plugins_loaded’
O WordPress agora executará a ação “plugins_loaded”.
Ele permite que os desenvolvedores conectem suas funções para serem executadas depois que todos os plug-ins ativos tiverem sido carregados.
14. Carregar regras de reescrita
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
Nesse 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. Do Action ‘setup_theme’
O WordPress passará a executar a ação “setup_theme”. Essa ação é executada antes que seu tema do WordPress seja carregado.
17. Carregar o arquivo functions.php do tema filho
O arquivo functions.php funciona como um plug-in e é usado nos 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 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á o arquivo functions.php do seu tema pai.
19. Do Action ‘after_setup_theme’
Essa 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 os temas.
20. Configurar objeto do usuário atual
Nesse 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 os recursos do usuário.
21. Executar ação ‘init’
Até agora, o WordPress carregou todas as informações cruciais de que precisa. Agora, ele dispara a ação “init”. Essa ação também registra blocos que estão disponíveis no núcleo ou fornecidos por quaisquer plug-ins instalados nesse site.
Essa ação permite que os desenvolvedores adicionem código que precisa ser executado depois que o WordPress tiver carregado todas as informações mencionadas anteriormente.
22. Do Action ‘widget_init’
A ação widget_init
permite que os desenvolvedores registrem widgets e executem o código que eles precisam executar nesse momento.
23. Executar wp()
O WordPress agora chama a função wp()
, que está localizada no arquivo wp-includes/functions.php
. Ela configura os globais de consulta do WordPress $wp, $wp_query, $wp_the_query e, em seguida, chama $wp->main.
24. Solicitação de análise
Agora o WordPress tem todas as informações necessárias para analisar a solicitação do usuário. Ele começa verificando as regras de reescrita para corresponder à solicitação do usuário.
Em seguida, ele executa filtros de variáveis de consulta, solicita um gancho de ação e envia uma solicitaçã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 fazer algumas verificações finais.
Agora, ele obtém 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
. Esse gancho é executado logo antes de o WordPress determinar qual página de modelo deve ser carregada.
27. Carregar modelo de alimentação
Se o conteúdo solicitado for um feed RSS, o WordPress carregará o modelo de feed.
28. Carregar modelo
O WordPress agora procurará o arquivo de modelo com base na hierarquia de modelos do WordPress. Em seguida, ele carrega o modelo, 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, o servidor de hospedagem responde à solicitação de um usuário enviando a ele a página da Web gerada pelo WordPress.
Essa página contém código HTML, CSS e Javascript, que informa 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 desses melhores serviços de hospedagem WordPress, o ideal é que sua página seja carregada em alguns segundos.
Esperamos que este artigo tenha ajudado você a saber como o WordPress funciona nos bastidores. Talvez você também queira ver nossas dicas sobre como 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, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.
MJB
hm – I am kind of missing step 0
so is this a correct assumption`?
a URL comes in at my hosted webserver
requesting let’S say my home page
then the webserver fires up step (1) ?
which then runs until step (24)
where WP parses the incoming URL to figure out next steps?
WPBeginner Support
Step 0 can certainly be a URL linking to the site, around step 15 is where the specific page would be considered.
Administrador
Mike Ross
What about index.php in the root?
I don’t get it…There are guides out there that lay out a totally different sequence of WordPress initialization.
WPBeginner Support
Index.php would be for the theme files, we cover the theme hierarchy in our guide below:
https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Administrador
Mike Ross
No, I’m not talking about the theme’s homepage template. I’m taking about the index.php at the root, which is a part of the WordPress core. It triggers wp-blog-header.php, which then loads wp-load.php which sets up the entire WordPress environment.
WPBeginner Support
The index.php in the root folder tells WordPress to load your theme
Administrador
Terry Woods
That is correct
Jason
Why start from wp-config.php ? I thought it was from index.php
WPBeginner Support
That would be for themes and not WordPress itself, for the index.php you would want to take a look at the template hierarchy in our guide below:
https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Administrador
Petru Ciucur
This is THE Article. Thanks !
WPBeginner Support
Glad our guide was helpful
Administrador
Juan Johnson
HI wpbeginner.
I noticed that in your sequence, you mentioned that wp does this and then that. Physical, where is the instance of wp()? On the server? Does this happens in between an initial load page post request when I use google browser and the final loading of the wp dashboard after login?
WPBeginner Support
You may want to take another look at the infographic for understanding the loading and how it works.
Administrador
Juan Johnson
I am a programmer. I am getting more into the web page design, however, I cannot let go of wanting to know what is going on behind the scenes. You article has given me a foundation to start confidently constructing web pages.
WPBeginner Support
Glad our guide was helpful
Administrador
Paul McDevitt
This is brilliant. Ran into several issues with old, expired plugins, updating PHP, etc, and a virus (probably because of the prior items.) So all locked down and scrubbed up now, but wanted to understand better the sequence of events as looking into any one PHP file is like trying to read a bowl of spaghetti, as I did not understand the sequencing of the activities. So absolutely amazing. Love this.
Thanks
WPBeginner Support
Glad our article was helpful
Administrador
Naresh
very clear article.
WPBeginner Support
Thank you
Administrador
Chinenye
I want to really know what wordpress does, how can I make and share posts through word press? What does it do for me apart from creating a site?
WPBeginner Support
WordPress allows you to create a site without needing to have knowledge of HTML and CSS. For sharing your posts, you would normally want to take a look at social media plugins: https://www.wpbeginner.com/plugins/best-social-media-plugins-for-wordpress/
Administrador
ganesh
very interesting
Adrian
Interesting but not really a definition of how Wordpress works. This describes what it does, not how it does it. Would be useful to also know how it does things as well as what it does. For example how does it know which theme to load? Without the how all the above is very high level.
amir saleem
17. Load Child Theme’s functions.php File
The functions.php file acts as plugin and is used in WordPress themes to add theme specific features to your website. If you are using a child theme, then WordPress will now load your child theme’s functions.php file.
Otherwise, it will go on and load your current active theme’s functions.php file.
18. Load Parent Theme’s functions.php File
[ If you are using a child theme ], then WordPress will now load your parent theme’s functions.php file.
check the text in brackets and match all the wording here will be replace [ if you are using a parent theme ].
Thanks.
Caleb
Amir, I think what the OP is trying to say is that if there is a child theme, then obviously there would be a parent and child functions.php and wordpress first loads the child themes functions.php before loading the parent’s. Otherwise, it just loads the parent’s functions.php straightaway.
Altab Hossen
Thanks for this nice explanation and info-graphics is so cool !!
Kristian
And people wonder why WordPress sites are slow. It does all that at run-time for every single page view!
Johnpaul Onwueme
Thanks for the info graphics
deborah
still seems complicated to me, but all tech does
Jason
Would you be willing to offer this as a printed poster? I don’t know if it would generate much interest or make you any money, but since it is such a nice graphic it might make a nice office wall hanging.
anis
Thank you for this article . I wanted to know since long time
the different steps for loading .
What is a database abstraction layer and how to configure it ?