什么是WordPress?為什么要學習WordPress?

      WordPress 是世界上最受歡迎的開源內容管理系統(CMS)。從 2003 年開始的一個簡單的博客引擎演變成一個基于可擴展設計系統的完整的Web 開發解決方案。Web 發布者可以使用各種附加組件和小部件擴展WordPress CMS的核心功能,以構建他們需要的功能。在今天的指南中,我們將深入了解 WordPress 的幕后,并了解更多關于流行的網站建設平臺的來龍去脈。

      什么是WordPress?為什么要學習WordPress?-南華中天

      什么是WordPress?

      WordPress 由Matt Mullenweg 和 Mike Little 在 2003 年作為博客引擎 B2 的一個分支推出。該腳本是用PHP編寫的,并安裝在MySQL 數據庫中,以HTML、CSS 和 JavaScript編寫的頁面輸出 Web 內容。開發人員可以安裝來自第三方PHP 開發人員的插件和主題,這些插件和主題可免費或通過付費訂閱許可證獲得。

      核心 WordPress 功能作為多用戶博客平臺運行。Automattic 的WooCommerce等解決方案添加了管理完整電子商務商店所需的插件。BuddyPress 發行版允許 WordPress 作為社交網絡運行,而bbPress 包可用于論壇站點。總體而言,有數以千計的WordPress 獨立開發解決方案可用于構建幾乎任何類型的網站。

      為什么要學習 WordPress?

      WordPress 為超過40% 的在線發布網站提供支持,并支持由數百萬專業開發人員組成的生態系統。各種規模的商業出版商都依賴該腳本的易用性、開源許可、大量免費代碼資源檔案和經過同行評審的安全性。世界上最大的品牌、媒體出版物和非政府組織都使用 WordPress,因為它能夠以低成本擴展和滿足最高的用戶流量水平。

      學習 WordPress 為開發人員提供了一致的客戶群,用于自定義主題設計、PHP 編程、JavaScript 編碼,并提供專業的網絡發布解決方案。WordPress 的 Web 服務器優化和運行時支持操作投入了大量時間和組織資源。最重要的是,WP 允許企業和初創組織在開源工具上構建網站和移動應用程序,從而節省在軟件開發方面的大量投資。

      WordPress是如何工作的?

      WordPress 可以在Linux、Windows或BSD 服務器上運行。盡管如此,由于它對PHP 運行環境和 MySQL 兼容數據庫的主要要求,該應用程序在 Linux 環境中運行得最好。您還可以在Nginx、LiteSpeed、IIS或Caddy等替代服務器框架上運行腳本,但許多 CMS 設置需要 Apache 的 .htaccess 文件才能運行。大多數用戶可以使用Softaculous或替代軟件自動安裝程序單擊安裝 WordPress 。

      什么是WordPress?為什么要學習WordPress?-南華中天

      WordPress 核心

      WordPress 核心是 Automattic 在官方發行版中發布的完整文件集。它的當前版本是5.9.2,截至 2022 年 3 月可用。每個主要的 WP 平臺版本都包括新特性和功能以及對最新編程標準的支持。

      根據“鉤子例程:鉤子、鉤子函數和回調函數”(2022):

      • “操作用于在 WordPress Core 執行期間的特定時間點運行自定義功能。操作由函數定義/創建: WordPress 代碼中的'do_action('action_name')' 。”
      • “過濾器用于修改或自定義其他功能使用的數據。過濾器由函數定義/創建: 'apply_filters('filter_name', 'value_to_be_filtered')'在 WordPress 代碼中。

      WordPress 核心包括管理使用腳本對注冊用戶進行內容管理所需的所有 PHP 代碼。核心通過各種附加組件和小部件進行擴展,站點所有者可以將其安裝在管理部分。

      WordPress 鉤子

      Hooks 是 WordPress 中的 PHP 代碼片段,允許插件與核心功能交互或通過信息交換協同工作。WP 有數百個預定義的鉤子,允許開發人員在 CMS 運行時的特定點插入新代碼。

      “操作允許您添加數據或更改 WordPress 的運行方式。操作將在執行 WordPress 核心、插件和主題的特定時間點運行。” – WordPress (2022)

      動作和過濾器的主要區別在于前者使用鉤子將代碼應用到WordPress 運行時而不返回任何進一步的數據。相比之下,過濾器應用帶有可變信息的鉤子,然后在不同的插件或分析中使用這些信息。

      “過濾器使您能夠在執行 WordPress Core、插件和主題期間更改數據。過濾器的回調函數將接受一個變量,修改它,然后返回它。” – WordPress (2022)

      Hooks 允許 PHP 開發人員以集成的方式向 WordPress 添加新特性和功能。您如何在 WordPress 中將 PHP 代碼放置在您的主題、插件或網站頁面中,將決定 CMS 中顯示的結果。

      WordPress 功能

      如果您需要將自定義 PHP 代碼添加到 WordPress 網站但不想要插件的全部功能,CMS 核心中的functions.php 文件將允許您添加產生所需結果的片段。functions.php 文件允許您將所有自定義代碼合并到一個位置,以便對 WordPress 網站進行簡單的開發修改。

      “WordPress 的文件定義了許多有用的 PHP 函數。一些稱為模板標簽的功能是專門為在 WordPress 主題中使用而定義的。還有一些與動作和過濾器相關的功能(插件 API),因此主要用于開發插件。” – WordPress 法典(2022 年)

      functions.php 文件的另一個有用選項是開發特定于站點的插件。這允許您的代碼被劃分并通過WordPress 核心 PHP 處理序列運行,從而降低出錯的風險。但是,自定義 WordPress 插件開發的成本可能比使用代碼片段高得多。

      什么是WordPress?為什么要學習WordPress?-南華中天

      WordPress 課程

      WordPress 類用于跨核心、插件和主題功能實現面向對象的編程方法。一旦在 WordPress 中全局聲明了一個類,它就可以被其他插件和主題通過鉤子和函數引用以在模塊化設計中顯示。

      “類名應該使用大寫的單詞,用下劃線分隔。類文件名應基于類名加上類前綴,類名中的下劃線替換為連字符,例如: 'WP_Error'變為: 'class-wp-error.php' 。此文件命名標準適用于所有當前的和新的帶有類的文件。” – 命名約定 (2022)

      WordPress 開發的關鍵之一是,當一個類被創建時,它成為一個依賴于屬性的變量定義的對象。WordPress 鉤子可以通過從類本身定義的函數中提取信息的自定義代碼來實現。

      WordPress 方法

      為了使在WordPress 類中處理的信息可以通過對其他插件的鉤子調用來使用,必須公開聲明該函數。這建立了關于可以通過其他代碼應用的函數或方法的可變輸出范圍。

      “有許多可調用格式可用于引用類和對象的方法。但是,在所有情況下,引用的方法都必須是公開可見的。當一個方法以 public 關鍵字為前綴或根本沒有可見性關鍵字(在這種情況下,該方法默認為 public)時,它就是公共的。” – 將類和對象方法掛鉤到操作 (2022)

      WordPress 插件 API包含一個回調函數,可以使用類定義的任何自定義掛鉤進行注冊。使用 CMS 設置注冊鉤子后,任何對象都可以通過運行鉤子代碼來實現回調。這允許專業的 PHP 開發人員向 WordPress 添加基于其他插件和主題功能的新功能。

      WordPress 文檔

      掛鉤與自定義 WordPress 代碼一起使用,以實現在插件、小部件和主題元素之間傳輸數據的回調函數。WordPress 插件 API 保留所有列出的函數的注冊表,以及確定處理順序的運行時權重層次結構。

      “在不使用類的情況下,使用函數處理鉤子是必要的,但對于面向對象的設計方法也非常有用。回調函數僅用于處理從一個特定上下文到類所需的適當依賴項的轉換。這允許該類充當一個系統,用于在任何上下文中基于類別更新帖子元數據,并且該函數成為插件 API 的連接器。” – 扭矩:WordPress 鉤子 (2017)

      WordPress 主題、插件和小部件設計是一個復雜的過程,受核心分發標準的約束。WordPress.org 上的開發人員資源檔案是開始學習專業編程方法的最佳場所。該存檔包括代碼參考、網絡標準、API、塊編輯器和用于 WordPress CMS 開發的模型資源。

      什么是WordPress?為什么要學習WordPress?-南華中天

      WordPress 和 VPS 托管

      WordPress 安裝在任何具有PHP 編程語言支持和 MySQL 兼容數據庫的Web 服務器硬件上。建議為 WordPress CMS 構建插件和主題的專業開發團隊采用VPS 托管,因為它為深入定制提供了最合適的環境。

      在為分布式團隊的網站和移動應用程序構建軟件開發管道時,也可以有效地使用虛擬專用服務器。可以使用子域在 VPS 服務器上安裝暫存、測試、linting 和生產環境。敏捷開發團隊的程序員可以在將更改實時推送到生產環境之前測試自定義插件、主題和平臺升級。該系統使用 Git 版本控制進行編排。

      結論

      WordPress 生態系統包括數百萬專業的PHP、HTML、CSS 和 JavaScript 開發人員,他們構建開源插件和主題以供全球使用。有數以千計的博客、課程、視頻和教程專門用于向初學者教授 WP 開發的主要原則。相比之下,編寫自定義插件和主題可能需要多年的學習時間。WordPress 核心、插件、小部件和主題開發都涉及過去 20 年在開源社區中建立的不同標準。請隨意查看WordPress 開發人員手冊和官方 WordPress 代碼參考以獲取更多信息。您可以在 Codex中找到有關 WordPress核心類的特定資源。或者,我們的技術支持團隊都接受過最受歡迎的 CMS 培訓,很樂意為您提供幫助。