WordPress如何在幕后工作(信息图)
你有没有想过WordPress如何在幕后工作?对于大多数用户来说,这似乎很简单,因为您键入一个URL并在几秒钟内加载页面,但在幕后发生了很多事情。在本指南中,我们将向您介绍WordPress在幕后的实际工作方式,并且我们还创建了一个易于遵循的信息图。
为什么你应该学习WordPress如何工作?
WordPress是一个开源软件,这意味着任何人都可以研究它的代码并为它编写自己的应用程序(插件)和模板(主题)。
了解WordPress如何工作以及幕后发生的事情可以帮助您了解使用它可以做些什么。您可以了解如何提高WordPress性能并为您自己的项目编写更好的代码。
本指南将逐步指导您完成整个过程。我们将从用户请求页面时开始,并在该页面完全加载时结束。
准备?让我们开始吧。
您还可以按照下面的书面教程获取更多详细信息。
1。加载wp-config.php文件
wp-config.php是WordPress配置文件。它为WordPress站点设置全局变量,并包含您的WordPress数据库信息。这是WordPress加载的第一个文件,原因很明显。了解有关wp-config.php文件以及如何编辑它的更多信息。
2。设置默认常量
加载wp-config.php文件后,WordPress将继续设置默认常量。这包括默认WordPress上载位置,最大文件大小以及wp-config.php文件中设置的其他默认常量等信息。
3。加载advanced-cache.php文件
如果您的站点上存在advanced-cache.php文件,则WordPress将接下来加载它。此文件充当插件文件,并由几个流行的插件使用,特别是WordPress缓存插件。如果您的站点使用此文件,那么您将在插件屏幕上看到一个名为Drop-ins的新项目。
4.加载wp-content / db.php文件
WordPress允许开发人员创建自己的数据库抽象层,并将它们加载到放在wp-content文件夹中的db.php文件中。WordPress缓存插件通常使用它来提高数据库性能。如果您的网站有此文件,则WordPress将加载它。
5。连接MySQL和选择数据库
WordPress现在有足够的信息可以继续进行。它将继续连接到MySQL服务器并选择数据库。
如果WordPress无法连接到数据库,那么您将看到“建立数据库连接时出错”错误,WordPress将在此处退出。
如果一切正常,那么它将继续下一步。
6。加载object-cache.php或wp-includes / cache.php文件
WordPress现在将查找object-cache.php文件。如果它不存在,那么WordPress将继续加载wp-includes / cache.php文件。
7。加载wp-content / sunrise.php文件
如果它是多站点网络,那么WordPress现在将查找sunrise.php文件(如果它存在于wp-content文件夹中)。
8。加载本地化库
WordPress现在将在wp-includes文件夹中加载l10n.php库。此文件加载WordPress本地化系统,加载翻译,设置区域设置等。请参阅我们的指南,了解如何在其他语言中使用WordPress。
9。加载多站点插件
如果它是多站点网络,那么WordPress现在将加载多站点插件。详细了解插件如何在WordPress多站点网络上运行。
10。Do Action’muplugins_loaded’
动作muplugins_loaded现在由WordPress运行。此操作仅适用于WordPress多站点上的网络激活插件。
11。加载活动插件
WordPress现在将加载网站上的所有活动插件。它通过查看WordPress数据库的options表中的active_plugins条目来实现。这允许WordPress忽略您网站上安装但未激活的插件。
12。加载pluggable.php文件
pluggable.php文件包含可由WordPress插件重新定义的函数。WordPress现在将查看此文件中的函数是否已由另一个插件定义。否则,它将自己定义这些函数。
13。Do Action’plugins_loaded’
WordPress现在将运行’plugins_loaded’动作。它允许开发人员在加载所有活动插件后挂钩其功能。
14。加载重写规则
WordPress现在将加载重写规则。这些重写规则帮助WordPress使用SEO友好的URL。
15。实例化$ wp_query,$ wp_rewrite,$ wp
此时,WordPress加载以下对象:
$ wp_query:包含WP_Query类的全局实例。它告诉WordPress以典型的WordPress查询格式请求了什么内容。
$ wp_rewrite:包含WP_Rewrite类的全局实例。它包含您的重写规则和函数,告诉WordPress用于显示请求内容的URL。
$ wp: WP类的全局实例,其中包含将解析您的请求并执行主查询的函数。
16。Do Action’setup_theme’
WordPress现在将继续运行’setup_theme’动作。此操作在加载WordPress主题之前运行。
17。加载子主题的functions.php文件
functions.php文件充当插件,并在WordPress主题中用于向您的网站添加主题特定功能。如果您使用的是子主题,那么WordPress现在将加载您的子主题的functions.php文件。
否则,它将继续并加载当前活动主题的functions.php文件。
18.加载父主题的functions.php文件
如果您正在使用子主题,那么WordPress现在将加载您的父主题的functions.php文件。
19。Do Action’after_setup_theme’
此操作在WordPress设置主题和加载主题功能后运行。这是主题可用的第一个动作。
20。设置当前用户对象
此时,WordPress加载当前用户对象。它允许WordPress根据用户的角色和功能管理请求。
21。Do Action’init’
WordPress到目前为止已经加载了它需要的所有重要信息。现在它触发’init’动作。
此操作允许开发人员添加在WordPress加载了所有前面提到的信息后需要执行的代码。
22。Do Action’totel_init’
widget_init
action允许开发人员注册小部件并运行他们此时需要运行的代码。
23。运行wp()
WordPress现在调用 wp()
函数位于 wp-includes / functions.php
文件中。它设置WordPress查询全局变量$ wp,$ wp_query,$ wp_the_query,然后调用$ wp-> main。
24。解析请求
现在,WordPress具有解析用户请求所需的所有信息。首先检查重写规则以匹配用户的请求。
然后运行查询变量过滤器,请求操作挂钩,并发送标头请求。
25。运行查询
如果没有内容与查询匹配,则WordPress将设置is_404变量。
否则,WordPress将继续加载查询变量。
然后它将运行WP_Query-> get_posts()。
接下来,它使用WP_Query对象触发DO_ACTION_REF_ARRAY’pre_get_posts’操作。
WordPress现在将运行apply_filters来清理查询并运行一些最终检查。
现在它从数据库中提取帖子并应用posts_results和the_posts过滤器。
查询部分以WordPress返回帖子结束。
26. Do Action’template_redirect’
WordPress现在将运行 template_redirect
action。这个钩子在WordPress确定要加载哪个模板页面之前运行。
27。加载Feed模板
如果请求的内容是RSS源,则WordPress将加载源模板。
28。加载模板
WordPress现在将根据WordPress模板层次结构查找模板文件。然后它加载通常包含WordPress循环的模板。
29。Do Action’shutdown’
在结束所有PHP执行之前,WordPress会触发最后一个名为shutdown的操作。
WordPress停止在这里工作。它运行代码并生成用户请求的网页。
现在,您的Web托管服务器通过向用户发送由WordPress生成的网页来回复用户的请求。此页面包含HTML,CSS和Javascript代码,告诉用户的浏览器如何在屏幕上显示它。
太棒了不是吗?所有这些事情都在几毫秒内发生。如果您使用这些最好的WordPress托管服务之一,那么理想情况下您的页面将在几秒钟内加载。
我们希望本文能帮助您了解WordPress在幕后的工作原理。您可能还希望看到有关如何为初学者提高WordPress速度和性能的分步指南。
你有没有想过WordPress如何在幕后工作?对于大多数用户来说,这似乎很简单,因为您键入一个URL并在几秒钟内加载页面,但在幕后发生了很多事情。在本指南中,我们将向您介绍WordPress在幕后的实际工作方式,并且我们还创建了一个易于遵循的信息图。
为什么你应该学习WordPress如何工作?
WordPress是一个开源软件,这意味着任何人都可以研究它的代码并为它编写自己的应用程序(插件)和模板(主题)。
了解WordPress如何工作以及幕后发生的事情可以帮助您了解使用它可以做些什么。您可以了解如何提高WordPress性能并为您自己的项目编写更好的代码。
本指南将逐步指导您完成整个过程。我们将从用户请求页面时开始,并在该页面完全加载时结束。
准备?让我们开始吧。
您还可以按照下面的书面教程获取更多详细信息。
1。加载wp-config.php文件
wp-config.php是WordPress配置文件。它为WordPress站点设置全局变量,并包含您的WordPress数据库信息。这是WordPress加载的第一个文件,原因很明显。了解有关wp-config.php文件以及如何编辑它的更多信息。
2。设置默认常量
加载wp-config.php文件后,WordPress将继续设置默认常量。这包括默认WordPress上载位置,最大文件大小以及wp-config.php文件中设置的其他默认常量等信息。
3。加载advanced-cache.php文件
如果您的站点上存在advanced-cache.php文件,则WordPress将接下来加载它。此文件充当插件文件,并由几个流行的插件使用,特别是WordPress缓存插件。如果您的站点使用此文件,那么您将在插件屏幕上看到一个名为Drop-ins的新项目。
4.加载wp-content / db.php文件
WordPress允许开发人员创建自己的数据库抽象层,并将它们加载到放在wp-content文件夹中的db.php文件中。WordPress缓存插件通常使用它来提高数据库性能。如果您的网站有此文件,则WordPress将加载它。
5。连接MySQL和选择数据库
WordPress现在有足够的信息可以继续进行。它将继续连接到MySQL服务器并选择数据库。
如果WordPress无法连接到数据库,那么您将看到“建立数据库连接时出错”错误,WordPress将在此处退出。
如果一切正常,那么它将继续下一步。
6。加载object-cache.php或wp-includes / cache.php文件
WordPress现在将查找object-cache.php文件。如果它不存在,那么WordPress将继续加载wp-includes / cache.php文件。
7。加载wp-content / sunrise.php文件
如果它是多站点网络,那么WordPress现在将查找sunrise.php文件(如果它存在于wp-content文件夹中)。
8。加载本地化库
WordPress现在将在wp-includes文件夹中加载l10n.php库。此文件加载WordPress本地化系统,加载翻译,设置区域设置等。请参阅我们的指南,了解如何在其他语言中使用WordPress。
9。加载多站点插件
如果它是多站点网络,那么WordPress现在将加载多站点插件。详细了解插件如何在WordPress多站点网络上运行。
10。Do Action’muplugins_loaded’
动作muplugins_loaded现在由WordPress运行。此操作仅适用于WordPress多站点上的网络激活插件。
11。加载活动插件
WordPress现在将加载网站上的所有活动插件。它通过查看WordPress数据库的options表中的active_plugins条目来实现。这允许WordPress忽略您网站上安装但未激活的插件。
12。加载pluggable.php文件
pluggable.php文件包含可由WordPress插件重新定义的函数。WordPress现在将查看此文件中的函数是否已由另一个插件定义。否则,它将自己定义这些函数。
13。Do Action’plugins_loaded’
WordPress现在将运行’plugins_loaded’动作。它允许开发人员在加载所有活动插件后挂钩其功能。
14。加载重写规则
WordPress现在将加载重写规则。这些重写规则帮助WordPress使用SEO友好的URL。
15。实例化$ wp_query,$ wp_rewrite,$ wp
此时,WordPress加载以下对象:
$ wp_query:包含WP_Query类的全局实例。它告诉WordPress以典型的WordPress查询格式请求了什么内容。
$ wp_rewrite:包含WP_Rewrite类的全局实例。它包含您的重写规则和函数,告诉WordPress用于显示请求内容的URL。
$ wp: WP类的全局实例,其中包含将解析您的请求并执行主查询的函数。
16。Do Action’setup_theme’
WordPress现在将继续运行’setup_theme’动作。此操作在加载WordPress主题之前运行。
17。加载子主题的functions.php文件
functions.php文件充当插件,并在WordPress主题中用于向您的网站添加主题特定功能。如果您使用的是子主题,那么WordPress现在将加载您的子主题的functions.php文件。
否则,它将继续并加载当前活动主题的functions.php文件。
18.加载父主题的functions.php文件
如果您正在使用子主题,那么WordPress现在将加载您的父主题的functions.php文件。
19。Do Action’after_setup_theme’
此操作在WordPress设置主题和加载主题功能后运行。这是主题可用的第一个动作。
20。设置当前用户对象
此时,WordPress加载当前用户对象。它允许WordPress根据用户的角色和功能管理请求。
21。Do Action’init’
WordPress到目前为止已经加载了它需要的所有重要信息。现在它触发’init’动作。
此操作允许开发人员添加在WordPress加载了所有前面提到的信息后需要执行的代码。
22。Do Action’totel_init’
widget_init
action允许开发人员注册小部件并运行他们此时需要运行的代码。
23。运行wp()
WordPress现在调用 wp()
函数位于 wp-includes / functions.php
文件中。它设置WordPress查询全局变量$ wp,$ wp_query,$ wp_the_query,然后调用$ wp-> main。
24。解析请求
现在,WordPress具有解析用户请求所需的所有信息。首先检查重写规则以匹配用户的请求。
然后运行查询变量过滤器,请求操作挂钩,并发送标头请求。
25。运行查询
如果没有内容与查询匹配,则WordPress将设置is_404变量。
否则,WordPress将继续加载查询变量。
然后它将运行WP_Query-> get_posts()。
接下来,它使用WP_Query对象触发DO_ACTION_REF_ARRAY’pre_get_posts’操作。
WordPress现在将运行apply_filters来清理查询并运行一些最终检查。
现在它从数据库中提取帖子并应用posts_results和the_posts过滤器。
查询部分以WordPress返回帖子结束。
26. Do Action’template_redirect’
WordPress现在将运行 template_redirect
action。这个钩子在WordPress确定要加载哪个模板页面之前运行。
27。加载Feed模板
如果请求的内容是RSS源,则WordPress将加载源模板。
28。加载模板
WordPress现在将根据WordPress模板层次结构查找模板文件。然后它加载通常包含WordPress循环的模板。
29。Do Action’shutdown’
在结束所有PHP执行之前,WordPress会触发最后一个名为shutdown的操作。
WordPress停止在这里工作。它运行代码并生成用户请求的网页。
现在,您的Web托管服务器通过向用户发送由WordPress生成的网页来回复用户的请求。此页面包含HTML,CSS和Javascript代码,告诉用户的浏览器如何在屏幕上显示它。
太棒了不是吗?所有这些事情都在几毫秒内发生。如果您使用这些最好的WordPress托管服务之一,那么理想情况下您的页面将在几秒钟内加载。
我们希望本文能帮助您了解WordPress在幕后的工作原理。您可能还希望看到有关如何为初学者提高WordPress速度和性能的分步指南。