小工具      在线工具  汉语词典  css  js  c++  java

WordPress实际上是如何在幕后工作的(Infographic)

数据库,python,linux,php,java 额外说明

收录于:101天前

您有没有想过 WordPress 在幕后实际上是如何工作的?对于大多数用户来说,这似乎很简单,因为您输入 URL 并在几秒钟内加载页面,但幕后发生了很多事情。在本指南中,我们将引导您了解 WordPress 在幕后的实际工作原理,并且我们还创建了一个易于理解的信息图。

您有没有想过 WordPress 在幕后实际上是如何工作的?对于大多数用户来说,这可能看起来很简单,因为您输入 URL,页面会在几秒钟内加载,但幕后发生了很多事情。在本指南中,我们将带您逐步了解 WordPress 在幕后的实际工作原理,并且我们还创建了一个易于理解的信息图。

How WordPress Works Behind the Scenes
为什么要学习WordPress如何工作? Why You Should Learn How WordPress Works?

WordPress is an 开源 software, which means any one can study its code and write their own apps (plugins) and templates (themes) for it.

WordPress是一种开源软件,这意味着任何人都可以研究其代码并为其编写自己的应用程序(插件)和模板(主题)。

Learning how WordPress works and what goes on behind the scenes can help you understand what you can do with it. You can learn about 提高 WordPress 性能 and write better code for your own projects.

了解WordPress的工作原理以及幕后发生的事情可以帮助您理解WordPress可以做什么。 您可以了解有关提高 WordPress 性能的知识,并为自己的项目编写更好的代码。

本指南将逐步引导您完成整个过程。我们将从用户请求页面时开始,并在该页面完全加载时结束。

本指南将逐步引导您完成该过程。我们将从用户请求页面开始,并等待页面完全加载。

准备好?让我们开始吧。

准备?开始吧。

Click to View the Behind the Scenes WordPress Infographic

您还可以按照我们下面的书面教程了解更多详细信息。

您还可以按照下面的书面教程了解更多详细信息。

1.加载wp-config.php文件 1. Load wp-config.php File

The wp-config.php is the WordPress configuration file. It sets global variables for a WordPress site and contains your WordPress database information. This is the first file WordPress loads for obvious reasons. Learn more 关于 wp-config.php 文件以及如何编辑它.

wp-config.php是WordPress配置文件。 它为WordPress网站设置全局变量,并包含您的WordPress数据库信息。 这是WordPress加载的第一个文件,原因很明显。 了解有关 wp-config.php 文件以及如何编辑它的更多信息

2.设置默认常量 2. Setup Default Constants

After loading wp-config.php file, WordPress will move on to set default constants. This includes information like default WordPress 上传位置, 最大文件大小, and other default constants set in wp-config.php file.

加载wp-config.php文件后,WordPress将继续设置默认常量。 其中包括诸如默认WordPress 上传位置最大文件大小以及wp-config.php文件中设置的其他默认常量之类的信息。

3.加载advanced-cache.php文件 3. Load advanced-cache.php File

If advanced-cache.php file exists on your site, then WordPress will load it next. This file acts as a drop-in file and is used by several 流行插件 particularly WordPress caching plugins. If your site is using this file, then you will see a new item on the plugins screen called Drop-ins.

如果您的站点上存在advanced-cache.php文件,则WordPress将在接下来加载该文件。 该文件充当一个插入文件,并由几个流行插件(尤其是WordPress缓存插件)使用。 如果您的站点正在使用此文件,那么您将在插件屏幕上看到一个名为Drop-ins的新项目。

advanced-cache.php file appearing as drop-in
4.加载wp-content / db.php文件 4. Load wp-content/db.php File

WordPress 允许开发人员创建自己的数据库抽象层并将其加载到 wp-content 文件夹内的 db.php 文件中。 WordPress 缓存插件通常使用它来提高数据库性能。如果您的网站存在此文件,那么 WordPress 将加载它。

WordPress 允许开发人员创建自己的数据库抽象层并将其加载到 wp-content 文件夹中的 db.php 文件中。 WordPress 缓存插件通常使用它来提高数据库性能。如果您的网站上存在此文件,WordPress 将加载它。

5.连接MySQL并选择数据库 5. Connect MySQL and Select Database

WordPress 现在有足够的信息来进一步进行。它将继续连接到 MySQL 服务器并选择数据库。

WordPress 现在有足够的信息来进一步进行。它将继续连接到MySQL服务器并选择数据库。

If WordPress is unable to connect to the database, then you will see the “建立数据库连接时出错” error and WordPress will quit right here.

如果WordPress无法连接到数据库,则您将看到“ 建立数据库连接错误”错误,并且WordPress将在此处退出。

如果一切正常,那么它将继续进行下一步。

如果一切正常,则将继续下一步。

6.加载object-cache.php或wp-includes / cache.php文件 6. Load object-cache.php or wp-includes/cache.php File

WordPress 现在将查找 object-cache.php 文件。如果它不存在,那么 WordPress 将继续加载 wp-includes/cache.php 文件。

WordPress 现在将查找 object-cache.php 文件。如果不存在,WordPress 将继续加载 wp-includes/cache.php 文件。

7.加载wp-content / sunrise.php文件 7. Load wp-content/sunrise.php File

If it is a 多站点网络, then WordPress will now look for sunrise.php file if it exists in the wp-content folder.

如果它是一个多站点网络 ,则WordPress现在将查找wp-content文件夹中的Sunrise.php文件。

8.加载本地化库 8. Load Localization Library

WordPress will now load l10n.php library in the wp-includes folder. This file loads WordPress localization system, loads translations, sets locales, etc. See our guide on 如何使用其他语言的 WordPress.

WordPress现在将在wp-includes文件夹中加载l10n.php库。 此文件加载WordPress本地化系统,加载翻译,设置语言环境等。请参阅我们的指南, 了解如何使用其他语言的 WordPress

9.加载多站点插件 9. Load Multisite Plugins

If it is a multisite network, then WordPress will now load the multisite plugins. Learn more about 插件如何在 WordPress 多站点网络上工作.

如果是多站点网络,那么WordPress现在将加载多站点插件。 了解有关插件如何在 WordPress 多站点网络上工作更多信息。

Network activated plugins
10.做动作'muplugins_loaded' 10. Do Action ‘muplugins_loaded’

The 行动 muplugins_loaded is now run by WordPress. This action is available only to network activated plugins on a WordPress multisite.

行动 muplugins_loaded现在由WordPress的运行。 此操作仅适用于WordPress多站点上的网络激活的插件。

11.加载活动插件 11. Load Active Plugins

WordPress 现在将加载网站上的所有活动插件。它通过查看 WordPress 数据库选项表中的 active_plugins 条目来实现这一点。这允许 WordPress 忽略已安装在您网站上但未激活的插件。

WordPress 现在将加载网站上的所有活动插件。它通过查看 WordPress 数据库选项表中的 active_plugins 条目来完成此操作。这允许 WordPress 忽略已安装但未在您的网站上激活的插件。

12.加载pluggable.php文件 12. Load pluggable.php File

Pluggable.php 文件包含可由 WordPress 插件重新定义的函数。 WordPress 现在将查看该文件中的函数是否已由另一个插件定义。否则,它将自己定义这些函数。

Pluggable.php 文件包含可由 WordPress 插件重新定义的功能。 WordPress 现在将查看此文件中的功能是否已由另一个插件定义。否则,它将定义函数本身。

13.做动作'plugins_loaded' 13. Do Action ‘plugins_loaded’

WordPress 现在将运行“plugins_loaded”操作。它允许开发人员在加载所有活动插件后挂钩其函数来运行。

WordPress 现在将运行“plugins_loaded”操作。它允许开发人员在加载所有活动插件后挂钩其功能以运行。

14.加载重写规则 14. Load Rewrite Rules

WordPress will now load the rewrite rules. These rewrite rules help WordPress use SEO 友好的 URL.

WordPress现在将加载重写规则。 这些重写规则可帮助WordPress使用SEO 友好的 URL

15.实例化$ wp_query,$ wp_rewrite,$ wp 15. Instantiate $wp_query, $wp_rewrite, $wp

此时WordPress会加载以下对象:

此时,WordPress将加载以下对象:

$wp_查询: The global instance that holds WP_Query class. It tells WordPress what content is requested in a typical WordPress query format.

$wp_查询:包含WP_Query类的全局实例。 它告诉WordPress以典型的WordPress查询格式请求什么内容。

$wp_重写: The global instance that holds your WP_Rewrite class. It contains your rewrite rules and functions which tell WordPress which URL to use to display the requested content.

$wp_重写:保存WP_Rewrite类的全局实例。 它包含您的重写规则和函数,这些规则和函数告诉WordPress使用哪个URL来显示所请求的内容。

$可湿性粉剂: The global instance of the WP class which contains functions that will parse your request and perform the main query.

$可湿性粉剂: WP类的全局实例,该实例包含将解析您的请求并执行主查询的函数。

16.执行“ setup_theme”操作 16. Do Action ‘setup_theme’

WordPress 现在将继续运行“setup_theme”操作。此操作在加载 WordPress 主题之前运行。

WordPress 现在将继续运行“setup_theme”操作。此操作在加载 WordPress 主题之前运行。

17.加载子主题的functions.php文件 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 儿童主题, then WordPress will now load your child theme’s 函数.php file.

functions.php文件充当插件,并在WordPress主题中用于将主题特定的功能添加到您的网站。 如果您使用的是副主题 ,那么WordPress现在将加载子主题的函数.php文件。

否则,它将继续加载当前活动主题的functions.php 文件。

否则,它将继续并加载当前活动主题的functions.php 文件。

18.加载父主题的functions.php文件 18. Load Parent Theme’s functions.php File

如果您使用子主题,那么 WordPress 现在将加载父主题的functions.php 文件。

如果您使用子主题,WordPress 现在将加载父主题的functions.php 文件。

19.执行“ after_setup_theme”操作 19. Do Action ‘after_setup_theme’

此操作在 WordPress 设置主题并加载主题功能后运行。这是主题可用的第一个操作。

这将在 WordPress 设置主题并加载主题功能后完成。这是该主题可用的第一个操作。

20.设置当前用户对象 20. Setup Current User Object

At this point, WordPress loads the current user object. It allows WordPress to manage the request in accordance with the 用户的角色和能力.

此时,WordPress将加载当前的用户对象。 它允许WordPress根据用户角色和功能来管理请求。

21.做动作“初始化” 21. Do Action ‘init’

到目前为止,WordPress 已经加载了它需要的所有关键信息。现在它会触发“init”操作。

至此,WordPress已经加载了它需要的所有关键信息。现在它触发“init”操作。

此操作允许开发人员添加在 WordPress 加载所有前面提到的信息后需要执行的代码。

此操作允许开发人员添加在 WordPress 加载所有前面提到的信息后需要执行的代码。

22.执行“ widget_init”操作 22. Do Action ‘widget_init’

The widget_init action allows developers to 注册小部件 and run code they needed to run at this time.

widget_init操作允许开发人员注册小部件并运行此时需要运行的代码。

23.运行wp() 23. Run wp()

WordPress now calls wp() function which is located in wp-includes/functions.php file. It sets up the WordPress query globals $wp, $wp_query, $wp_the_query and then calls $wp->main.

WordPress现在调用wp() wp-includes/functions.php文件中的wp()函数。 它设置WordPress查询全局变量$ wp,$ wp_query,$ wp_the_query,然后调用$ wp-> main。

24.解析请求 24. Parse Request

现在 WordPress 拥有解析用户请求所需的所有信息。它首先检查重写规则以匹配用户的请求。

现在,WordPress 拥有解析用户请求所需的所有信息。它首先检查重写规则以匹配用户的请求。

然后运行查询变量过滤器、请求操作挂钩,并发送标头请求。

然后运行查询变量过滤器,请求操作挂钩,并发送标头请求。

25.运行查询 25. Run Query

如果没有内容与查询匹配,那么 WordPress 将设置 is_404 变量。

如果没有内容与查询匹配,WordPress 将设置 is_404 变量。

否则,WordPress 将继续加载查询变量。

否则,WordPress 将继续加载查询变量。

然后它将运行 WP_Query->get_posts()。

然后它将运行 WP_Query->get_posts()。

接下来,它使用 WP_Query 对象触发 DO_ACTION_REF_ARRAY ‘pre_get_posts’ 操作。

接下来,它使用 WP_Query 对象触发 DO_ACTION_REF_ARRAY 'pre_get_posts' 操作。

WordPress 现在将运行 apply_filters 来清理查询并运行一些最终检查。

WordPress 现在将运行 apply_filters 来清理查询并运行一些最终检查。

现在它从数据库中获取帖子并应用 posts_results 和 the_posts 过滤器。

现在它从数据库获取帖子并应用 posts_results 和 the_posts 过滤器。

查询部分以 WordPress 返回帖子结束。

查询部分以 WordPress 返回帖子结束。

26.做动作'template_redirect' 26. Do Action ‘template_redirect’

WordPress will now run the template_redirect action. This hook runs just before WordPress determines which template page to load.

WordPress现在将运行template_redirect操作。 该挂钩将在WordPress确定要加载的模板页面之前运行。

27.加载提要模板 27. Load Feed Template

If the requested content is a RSS订阅, then WordPress loads the feed template.

如果请求的内容是RSS订阅 ,则WordPress将加载feed模板。

28.加载模板 28. Load Template

WordPress will now look for the template file based on WordPress template hierarchy. It then loads the template which usually contains a WordPress 循环.

WordPress现在将基于WordPress模板层次结构查找模板文件。 然后加载通常包含WordPress 循环的模板。

29.采取行动“关机” 29. Do Action ‘shutdown’

就在结束所有 PHP 执行之前,WordPress 会触发名为 shutdown 的最后一个操作。

在结束所有 PHP 执行之前,WordPress 会触发一个名为 shutdown 的最终操作。

WordPress 在这里停止工作。它已运行代码并生成用户请求的网页。

WordPress 在这里停止工作。它已运行代码并生成用户请求的网页。

现在,您的网络托管服务器通过向用户发送由 WordPress 生成的网页来回复用户的请求。该页面包含 HTML、CSS 和 Javascript 代码,告诉用户的浏览器如何在屏幕上显示它。

现在,您的网络托管服务器通过向用户发送 WordPress 生成的网页来响应用户的请求。该页面包含 HTML、CSS 和 Javascript 代码,这些代码告诉用户的浏览器如何将其显示在屏幕上。

Amazing isn’t it? All these things happen within milliseconds. If you are using one of these 最好的 WordPress 托管服务, then ideally your page will load in a couple of seconds.

是不是很神奇? 所有这些事情都在几毫秒内发生。 如果您使用的是这些最好的 WordPress 托管服务之一 ,那么理想情况下,您的页面将在几秒钟内加载。

We hope this article helped you learn how WordPress works behind the scenes. You may also want to see our step by step guide on how to 提高 WordPress 速度和性能 for beginners.

我们希望本文能帮助您了解WordPress在幕后的工作方式。 您可能还希望查看有关如何为初学者提高 WordPress 速度和性能分数步指南。

If you liked this article, then please subscribe to our YouTube 频道 for WordPress video tutorials. You can also find us on 推特 and Facebook.

如果您喜欢这篇文章,请订阅我们的YouTube 频道 WordPress视频教程。 您也可以在推特Facebook上找到我们。

翻译自: https://www.wpbeginner.com/wp-tutorials/how-wordpress-actually-works-behind-the-scenes-infographic/

. . .

相关推荐

额外说明

mysql 8 特性倒排序索引

  比如创建一个联合索引, create index inx_t1_bcd on t1 (b,c,d); 其实他默认的是这样: create index inx_t1_bcd on t1 (b asc,c asc,d asc); 当然它也可以用倒排序:

额外说明

jsp页面动态的显示系统当前的时间

<html>      <HEAD>      <TITLE>Dynamic   Content</TITLE>      </HEAD>      <body>      <font   face="verdana,arial,helvetica"  

额外说明

与流氓网站的血战史

博主不是个愤青,只是一直用着谷歌浏览器用习惯了,怎么看怎么舒服。但是,突然一天,当我兴致冲冲的打开我可爱的浏览器时,这一和谐的景象被 打破了。我的谷歌浏览器像犯病似的,每次打开都出现某网站主页,不仅如此,我的IE浏览器也一副死猪不怕开水烫的表情,咳咳,

额外说明

python(numpy,pandas5)——numpy中copy 和 deep copy

文章目录 前言 copy deep copy 前言 根据 莫烦Python的教程 总结写成,以便自己复习和使用,这里我就不哟林地挂原创了-。 copy a8 = np.arange(4) b8 = a8 c8 = a8 d8 = b8 a8[0] = 1

额外说明

nginx rewrite功能使用

前言 大家在浏览某些网站的时候,有没有发现,当输入:www.abc.com或者www.abcd.com的时候,页面均能正常显示www.abc.com的主页内容。这就是nginx rewrite的一个使用场景。 rewrite简介 rewrite是Ngin

额外说明

无心剑随感《生命是让我们体验的奥秘》

生命是让我们体验的奥秘 回想我们的成长经历,从小我们就都被父母教导应该这样不应该那样,当然不同的家庭都按照自己认为最正确的方式,给自己的孩子灌输一些观念和划定前进的方向,并且经常强调要成为这种或那种循规蹈矩的模范,总之要做听话的好孩子,这样才会得到大家的

额外说明

前端(二十四)——轮询与 WebSocket的battle

-博主:小猫娃来啦 -文章核心:轮询与 WebSocket的battle 文章目录 前言 轮询的原理及实现 WebSocket的原理及实现 轮询与WebSocket的比较 轮询的应用场景 WebSocket的应用场景 使用场景的对比与选择 WebSock

额外说明

Python 函数

Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。 定义一个函

额外说明

细说 里氏替换原则

转载: 细说 LSP(里氏替换原则) | chengco的博客 前言 曾经在一次给新入职员工做Java开发的课程培训,讲到面向对象的SOLID设计原则时,大家普遍认为"里氏替换原则"是其中最难理解的一个。也许从头说起才能弄清来龙去脉。 为什么叫里氏替换原

额外说明

系统缺失msdatrep.ocx文件导致程序出现错误怎么办?

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个msdatrep.ocx文件

ads via 小工具