首頁  >  文章  >  CMS教程  >  向 WordPress 核心提交補丁:建立和共享變更的過程

向 WordPress 核心提交補丁:建立和共享變更的過程

王林
王林原創
2023-08-31 14:25:01934瀏覽

如果您使用 WordPress 謀生並講述您的故事,那麼看到您編寫的更改添加到 WordPress 程式碼庫中是一件非常令人興奮的事情。我知道這是給我的。

在本教學中,您將學習創建可被核心軟體接受的 WordPress 修補程式所需了解的一些簡單知識。

雖然 WordPress 是任何人都可以下載和修改的開源軟體,但只有少數核心貢獻者能夠將他們的變更提交到 WordPress 本身。如果您想對 WordPress 的核心文件進行更改,您可以透過建立詳細說明提議的更改並附加補丁的票證或將補丁附加到現有票證來提出建議。

補丁或 diff 文件是一個詳細說明您對原始程式碼所做的更改的文件,SVN 或 GIT 等版本控制系統可以使用該文件來應用您的更改。透過命令列或透過 SourceTree 等 GUI 工具可以輕鬆建立補丁。

在本文中,我將詳細介紹如何使用優秀的 GIT GUI 應用程式 SourceTree 來檢查最新版本的 WordPress 並建立補丁檔案。如果您願意,可以使用您選擇的 GUI 工具或命令列。

在 Core Trac 中尋找或建立票證

當您將補丁提交到 WordPress 核心時,它必須附加到 WordPress 問題追蹤器(稱為 trac)中的票證中。因此,提交補丁的第一步是尋找或建立票證。

雖然具有新功能的新票證有可能被接受,但可能性不大。 WordPress 擁有數百萬用戶,主要開發人員對於引入新功能非常謹慎是有道理的。現在幾乎所有新功能都首先作為插件單獨開發,只有經過廣泛的測試和開發後才合併到核心中。

要讓補丁被接受,最好的方法是為現有票證建立補丁。最近,核心 trac 進行了重新設計,以便更輕鬆地找到具有簡單修復的票證以及最有可能包含在下一版本和下一版本 WordPress 中的票證。

報告錯誤

如果您想在 core trac 中建立新票證(如果您發現了新錯誤,這是一件很棒的事情),您可以在此處執行此操作。只需確保您在建立新票證之前已在 trac 中搜尋了同一問題的任何報告,並且已驗證最新版本的 WordPress 中是否存在該錯誤。

我指的並不是最新版本,而是 GIT 術語中的 master 分支或 SVN 術語中的 trunk。我將在本教學稍後詳細介紹如何取得最新版本。

向 WordPress 核心提交补丁:创建和共享更改的过程

#您至少必須填寫摘要欄位(工單的標題)和描述字段,這是票證的內容。在票證描述中,請盡可能具有描述性。

在我參加的 2013 年 WordCamp 奧蘭多貢獻者研討會上,WordPress 首席開發人員 Mark Jaquith 和 Andrew Nacin 創建了這份優秀錯誤報告的清單:

  • 重現問題的步驟(從最早的步驟開始)
  • 錯誤描述
  • 您所看到的與您所期望的
  • 錯誤訊息或錯誤代碼
  • PHP 錯誤(頁面上的警告是什麼、日誌中出現了什麼內容、是否有任何 JavaScript 或 Apache/nginx 錯誤?)
  • 什麼瀏覽器?
  • 環境(您的 PHP 版本、MySQL Apache 或 nginx 版本)
  • 在沒有外掛程式和預設主題的情況下會發生這種情況嗎?
  • 使用者介面問題的螢幕截圖
  • 清晰簡潔
  • 先切入主題,然後再詳細說明。
  • 相關票號
  • 每張票一個錯誤
  • 固定連結設定
  • 是否啟用多站點?
  • WP_DEBUG 或同等功能已啟用?
  • 問題發生時登入的使用者角色(或更改資料庫中的角色)

請記住,並非所有這些都與每個錯誤相關,但您可以添加更多相關信息,效果更好。

除非您確定要在其中設定什麼內容,否則您應該保留下面描述的字段,讓核心貢獻者使用它們對工單進行相應的分類。我建議您根據是否附加補丁來修復錯誤而使用“Has Patch”或“Needs Patch”標籤。

使用 GUI 工具從 GitHub 查看最新的 WordPress

在為任何票證建立補丁之前,擁有絕對最新版本的 WordPress 非常重要,因為每天都會對其進行許多更改。除非您使用最新的程式碼,否則不可能知道您的修復是否有效或錯誤是否仍然存在。如果您的補丁修改了已經更改的程式碼,則它可能不會被接受。

WordPress 在 SVN 中管理,但程式碼在兩個位置鏡像為 GIT 儲存庫:

  1. git://core.git.wordpress.org/
  2. #https://github.com/WordPress/WordPress

#GitHub 儲存庫是最容易使用的。請記住,即使它是官方 GitHub 儲存庫,它仍然不用於問題跟踪,並且您不應向其提交拉取請求。

向 WordPress 核心提交补丁:创建和共享更改的过程

有多種方法可以透過 SVN 或 Git 取得最新版本的 WordPress。就我個人而言,我發現最簡單的方法是使用出色的 GIT GUI 工具 SourceTree 來複製 GitHub 鏡像。這就像從檔案選單中選擇「新建/複製」一樣簡單,在「來源路徑/ URL」欄位中輸​​入Git 儲存庫的位址,然後指定用於複製的本機路徑,該路徑位於您的XAMMP 或Vagrant 內部測試環境。

說到 Vagrant,受歡迎的 WordPress Vagrant 設定 VVV 已經為 WordPress 核心預先設定了測試環境,包括最新程式碼和單元測試。

建立補丁檔案

對 WordPress 進行了解決您嘗試修復的問題所需的變更並測試了修復後,您需要建立一個補丁檔案以上傳到工單。 SourceTree 包含一種建立補丁檔案的方法,或者您也可以使用命令列。

在 SourceTree 中,您可以透過前往工作副本並右鍵單擊已更改的檔案來建立補丁檔案。從右鍵選單中選擇“建立補丁”。

向 WordPress 核心提交补丁:创建和共享更改的过程

或者,在終端機中導航到 WordPress 儲存庫的根目錄,然後使用以下命令建立差異:

git diff —非前綴 ~/name.path

#無論您如何建立補丁文件,都應該以它的目標票號來命名它。如果這是上傳到票證的第二個補丁,請在數字末尾附加 .2,如果是第三個,則附加 .3,依此類推。例如,票號 #12358 的第五個補丁將被稱為 #12358.5

將補丁上傳到 Trac

現在您的補丁已準備就緒,您需要將其上傳到 core trac 中的票證中。在任何現有的票證上,說明下方都有一個「附加檔案」按鈕,您可以使用該按鈕上傳補丁。在下一個畫面上,請務必新增補丁功能的描述。

要有耐心並理解

WordPress 是一個龐大的項目,因此期望您的補丁立即得到回應是不合理的。另外,請了解,提交給 WordPress 的補丁的標準必須非常高,才能最好地服務所有使用者。

提交補丁後,請保持耐心並理解您收到的任何回饋。主要開發人員非常平易近人,如果您對補丁有疑問或為什麼沒有改進,請隨時在 #wordpress-dev IRC 頻道中詢問其中一位。

雖然等待回應並必須進行更改可能會令人沮喪,但當您的補丁已提交到 WordPress 並且變更集描述認可您時,這是值得的。

#

以上是向 WordPress 核心提交補丁:建立和共享變更的過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn