wordpress工作原理

2021-07-11 04:49:26 字數 1674 閱讀 3471

wordpress所有的前端頁面生成都要經過根目錄下的index.php檔案(不是主題根目錄),這是通過web伺服器的rewrite規則實現的。然後通過index.php檔案一步步引導wordpress環境啟動,再分析請求url返回相應資料所組成的前台頁面。以下將一步步分析原始碼檔案,以此來了解wordpress整體框架及工作原理。

wordpress執行流程:

圖1  wordpress執行流程圖

第一步:載入index.php

該檔案有效原始碼如下:

define('wp_use_themes', true);

# 定義是否載入主題檔案,true為載入;

require('./wp-blog-header.php');

# 載入wp-blog-header.php檔案,該檔案用於啟動wordpress環境及模板;

第二部:

載入wp-blog-header.php檔案。

if ( !isset($wp_did_header) )

解析1:對$wp_did_header進行賦值,這樣如果**塊已經執行過,判斷就會失敗,**塊就不會再執行。這種做法可以確保wp-blog-header.php檔案只執行一次(重複執行的話會出現函式名衝突、變數重置等,wordpress會精神**的!);

解析2:載入wp根目錄下wp-load.php檔案,執行

解析3:執行wp()函式,執行內容處理工作,如根據使用者的請求呼叫相關函式獲取和處理資料,為前端展示準備資料;

解析4:載入根目錄絕對路徑下wp-includes目錄中template-loader.php檔案,執行

主題應用

工作,如根據使用者的請求載入主題模板。

wordpress之所以能將使用者請求的頁面生成出來,都是最後這三行核心**起的作用。wp-load.php會完成頁面生成所需要的所有環境、變數、api等,相當於做了好準備工作;wp()函式根據使用者請求的url從資料庫中取出相應的資料內容備用;template-loader.php把已經準備好的內容用主題所設定的樣式展現方式給拼接出來。這三項工作完成,就可以將使用者請求的頁面展現出來了。我們姑且將這三項工作也認定為三個大步驟,以下將重點分析。

該檔案初始化常量(如:定義絕對路徑、設定功能檔案及內容檔案路徑等)並載入wp-config.php檔案,

wp-settings.php:

主要用於建立和定義常見變數、函式和類的庫來為wordpress執行做準備,也就是說wordpress執行過程中使用的大多數變數、函式和類等核心**都是在這個檔案中定義的。這個檔案相當於乙個總控制器,很多常量定義、函式定義等都是在其他檔案中完成,而該檔案的作用就是執行那些檔案或執行在那些檔案中已經定義好的函式。

在這一階段,呼叫wp()函式對資料庫內容進行查詢,並將查詢的內容賦值給一些全域性變數,方便在模板中使用模板標籤獲取相應的資料並展示在前端。

該檔案根據使用者url返回載入相應模板

圖2 wordpress主目錄

wordpress工作原理

wp初始化的過程 當你輸入 wordpress對wordpress進行初始化時,wordpress缺省會找 根目錄下的index.php頁面,看一下index.php頁面。define wp use themes true loads the wordpress environment and te...

wordpress工作原理

wp初始化的過程 當你輸入 wordpress對wordpress進行初始化時,wordpress缺省會找根目錄下的index.php頁面,看一下index.php頁面。define wp use themes true loads the wordpress environment and tem...

簡述hdfs工作原理 HDFS的工作原理

hdfs 的工作原理 hadoop 分布式檔案系統 hdfs 是一種被設計成適合執行在通用硬體上的分布式檔案系統。hdfs 是乙個高度容錯性的系統,適合部署在廉價的 機器上。它能提供高吞吐量的資料訪問,非常適合大規模資料集上的應用。要理解 hdfs 的內部工作原理,首先要理解什麼是分布式 檔案系統。...