WordPress 深度依賴第三方 JavaScript 和 PHP 庫(kù),其中 jQuery 是使用最廣泛的 JavaScript 庫(kù),PHP 庫(kù)主要由單個(gè)類文件組成。其他使用的 JavaScript 庫(kù)包括 jQuery Masonry、jQuery Hotkeys、jQuery Suggest、jQuery Form、jQuery Color、jQuery Migrate、jQuery Schedule、jQuery UI、Backbone、colorpicker、hoverIntent、SWFObject 和 TinyMCE。
WordPress 的第三方庫(kù)與 WordPress 文件一起位于 wp-includes
和 wp-admin
文件夾中。PHP 庫(kù)以 class-*.php
命名或位于其自己的文件夾中,而 JavaScript 文件位于這些文件夾下的 js
文件夾中。CSS 文件主要是 jQuery 或 TinyMCE CSS 文件,位于 include 文件夾下的 CSS 文件夾中。
雖然這些庫(kù)增強(qiáng)了 WordPress 的功能和用戶體驗(yàn),但許多庫(kù)都已過(guò)時(shí),這引發(fā)了關(guān)于架構(gòu)和潛在改進(jìn)(例如 Bower 和 Composer 集成到 WordPress)的討論。了解這些庫(kù)可以使您更聰明、更高效地使用 WordPress,并可能為其核心做出貢獻(xiàn)。
幾乎所有現(xiàn)代軟件(包括 WordPress 等平臺(tái))都依賴于第三方庫(kù)。這是因?yàn)?,作為開(kāi)發(fā)人員,我們不需要重新發(fā)明輪子。
如果我必須開(kāi)發(fā)使用 HTTP 抽象的軟件,我可能會(huì)使用 Symfony HttpKernel 或類似的包。如果我的軟件需要更多功能(順便說(shuō)一句,不太可能,但讓我們?cè)谑纠屑僭O(shè)這一點(diǎn)),我可以擴(kuò)展該包,或者在最壞的情況下,從頭創(chuàng)建一個(gè)。從頭開(kāi)始創(chuàng)建并非壞事。它實(shí)際上是一件好事,因?yàn)樗茏屇愠蔀楦玫拈_(kāi)發(fā)者。但是通常情況下,在大多數(shù)現(xiàn)代項(xiàng)目中,你都必須依賴第三方庫(kù)(或包)。在本文中,我們將研究 WordPress 使用的各種第三方 JavaScript 和 PHP 庫(kù)。
WordPress 中使用的庫(kù)列表
在 WordPress 中,第三方庫(kù)與 WordPress 文件一起存在。要更好地理解 WordPress 中文件的結(jié)構(gòu),WordPress 代碼庫(kù)頁(yè)面將為您提供一些答案。wp-includes
文件夾包含應(yīng)用程序執(zhí)行時(shí)包含的一些庫(kù)。此外,在 wp-admin
中,您會(huì)找到第二個(gè) include 文件夾,它與第一個(gè)文件夾的作用相同。在這兩個(gè)文件夾中,您都會(huì)找到 PHP 和 JavaScript 文件。
第三方 PHP 庫(kù)以 class-*.php
(單個(gè)文件)命名或位于其自己的文件夾中。其他名為 class-*.php
的 PHP 文件可能是 WordPress 文件(而非第三方文件)。PHP 文件位于 wp-include
或 wp-admin/include
文件夾下。
JavaScript 文件也位于這些文件夾下,但它們分組在 js
文件夾中。
CSS 文件主要是 jQuery 或 TinyMCE CSS 文件,位于 include 文件夾下的 CSS 文件夾中。
JavaScript 庫(kù)
讓我們從 JavaScript 庫(kù)開(kāi)始。WordPress 大量使用 jQuery。它使用:
- jQuery
- jQuery Masonry
- jQuery Hotkeys
- jQuery Suggest
- jQuery Form
- jQuery Color
- jQuery Migrate
- jQuery Schedule
- jQuery UI
您可能會(huì)注意到,其中一些庫(kù)沒(méi)有鏈接。這是因?yàn)槠渲幸恍?kù)非常舊,并且存儲(chǔ)庫(kù)已不存在。讓我們逐一檢查它們。
jQuery 是一個(gè)著名的庫(kù),無(wú)需介紹。
jQuery Masonry 是一個(gè)插件,它使創(chuàng)建像這樣的砌體布局更容易:
從頭開(kāi)始創(chuàng)建這樣的布局有點(diǎn)困難,jQuery Masonry 使這變得容易。
jQuery Hotkeys 處理瀏覽器的快捷鍵。如果您習(xí)慣使用 StackEdit.io 等工具,您可能會(huì)使用“ctrl s”(command s)在 gDrive 或其他云提供商上保存文件。瀏覽器中默認(rèn)的 (ctrl s) 快捷鍵可用于保存網(wǎng)頁(yè),使用此插件您可以覆蓋這些默認(rèn)快捷鍵。
jQuery Form 處理表單和 AJAX 調(diào)用。如果您好奇并想了解更多關(guān)于此插件的信息,您可以查看其文檔。
jQuery Color 由 WordPress 用于顏色操作和動(dòng)畫(huà)。
jQuery("#go").click(function(){ jQuery("#block").animate({ backgroundColor: "#abcdef" }, 1500 ); });
第一行選擇具有 的元素,并告訴瀏覽器它應(yīng)該在 1.5 秒內(nèi)為具有 的元素設(shè)置背景顏色動(dòng)畫(huà)。
jQuery Migrate 在處理早期 jQuery 代碼庫(kù)時(shí)可以幫助您。這對(duì) WordPress 非常重要,因?yàn)樗且粋€(gè)應(yīng)該向后兼容的平臺(tái)。
事實(shí)上,向后兼容性是 WordPress 最著名的特性之一。另一方面,這也是 WordPress 的問(wèn)題之一。WordPress 于 2003 年發(fā)布,當(dāng)時(shí)使用的 PHP 版本已經(jīng)過(guò)時(shí)。如今,PHP 是一種現(xiàn)代語(yǔ)言,借鑒了其他語(yǔ)言的許多有用特性。但這又是另一個(gè)話題,留待以后的文章討論。
WordPress 還使用其他 JavaScript 庫(kù),而不僅僅是 jQuery。以下是它使用的一些其他流行庫(kù):
- Backbone
- colorpicker
- hoverIntent(位于 jQuery 文件夾之外的 jQuery 插件)
- SWFObject
- TinyMCE
等等。
此列表中最著名的是 TinyMCE 和 Backbone。TineMCE 用于在 WordPress 儀表板中撰寫(xiě)新的帖子和頁(yè)面。
Backbone 是一個(gè)前端框架,事實(shí)上它是第一個(gè)框架之一。它今天仍在使用,但正在失去 Angular 和其他前端框架的大量市場(chǎng)份額。是的,我在對(duì)你說(shuō),Meteor。但別擔(dān)心,在 JavaScript 世界中,框架(庫(kù))的被遺忘速度與其流行速度一樣快。
PHP 庫(kù)
PHP 庫(kù)的列表略有不同。我們看到 JavaScript 主要受 jQuery 和其他一些流行庫(kù)的影響。對(duì)于 PHP,情況有所不同,因?yàn)榇蠖鄶?shù)第三方庫(kù)只是一個(gè)類(文件)。以下是當(dāng)前第三方 PHP 庫(kù)的簡(jiǎn)短列表:
- Atom Lib
- Text Diff
- SimplePie
- Pomo
- ID3
- Snoopy
- PHPMailer
- POP3 Class
- PHPass
- PemFTP
公開(kāi)討論
許多庫(kù)都有些過(guò)時(shí)。這時(shí),關(guān)于架構(gòu)等主題的討論往往會(huì)發(fā)生。我個(gè)人希望看到 Bower 和 Composer 與 WordPress 集成。我想就這些想法詢問(wèn) SitePoint 社區(qū),并就如何改進(jìn) WordPress 開(kāi)展公開(kāi)討論。請(qǐng)?jiān)谙旅媪粝履脑u(píng)論和想法。
結(jié)論
在本文中,我們看到了 WordPress 使用的各種第三方庫(kù)。了解 WordPress 幕后使用的內(nèi)容,您將對(duì)它的工作原理有更好的理解。您的理解越好,您就能更快、更有效地使用 WordPress。也許您甚至可以努力為 WordPress 核心做出貢獻(xiàn)。畢竟,這是開(kāi)源的世界,我們互相學(xué)習(xí)并分享想法(代碼和比薩餅?。?/p>
關(guān)于 WordPress 使用的 JavaScript 和 PHP 庫(kù)的常見(jiàn)問(wèn)題
WordPress 中最常用的 JavaScript 庫(kù)是什么?
WordPress 使用多個(gè) JavaScript 庫(kù)來(lái)增強(qiáng)其功能和用戶體驗(yàn)。最常用的庫(kù)包括 jQuery、Backbone.js 和 Underscore.js。jQuery 是一個(gè)快速、小巧且功能豐富的 JavaScript 庫(kù),它簡(jiǎn)化了 HTML 文檔遍歷、事件處理和動(dòng)畫(huà),從而可以快速進(jìn)行 Web 開(kāi)發(fā)。Backbone.js 通過(guò)提供具有鍵值綁定和自定義事件的模型來(lái)為 Web 應(yīng)用程序提供結(jié)構(gòu)。Underscore.js 是一個(gè)實(shí)用程序庫(kù),它在不擴(kuò)展任何核心 JavaScript 對(duì)象的情況下為常用的函數(shù)式編程提供支持。
PHP 庫(kù)如何增強(qiáng) WordPress 功能?
PHP 庫(kù)是用于在 WordPress 中執(zhí)行特定任務(wù)的類和函數(shù)的集合。它們通過(guò)提供預(yù)先編寫(xiě)的代碼來(lái)執(zhí)行常見(jiàn)任務(wù)來(lái)幫助增強(qiáng) WordPress 的功能,從而節(jié)省開(kāi)發(fā)人員的時(shí)間和精力。例如,PHPMailer 是一個(gè)代碼庫(kù),用于通過(guò) Web 服務(wù)器上的 PHP 代碼安全輕松地發(fā)送電子郵件。同樣,SimplePie 是一個(gè)可以讀取 RSS 和 Atom 提要的 PHP 庫(kù)。
如何在我的 WordPress 網(wǎng)站中添加 JavaScript?
有多種方法可以將 JavaScript 添加到您的 WordPress 網(wǎng)站中。最常用的方法之一是使用 wp_enqueue_script
函數(shù)。此函數(shù)在頁(yè)面中包含指定的 JavaScript 文件。另一種方法是將 JavaScript 代碼直接添加到您的主題文件中。但是,此方法應(yīng)謹(jǐn)慎使用,因?yàn)槿绻僮鞑划?dāng),可能會(huì)導(dǎo)致問(wèn)題。
WordPress 開(kāi)發(fā)的一些最佳 PHP 庫(kù)是什么?
有幾個(gè) PHP 庫(kù)可以幫助 WordPress 開(kāi)發(fā)。一些最流行的庫(kù)包括 Guzzle(一個(gè) PHP HTTP 客戶端,它使發(fā)送 HTTP 請(qǐng)求變得容易,并且易于與 Web 服務(wù)集成);Carbon(一個(gè)簡(jiǎn)單的 PHP API 擴(kuò)展,用于 DateTime);以及 Monolog(它有助于創(chuàng)建日志)。
我可以在我的 WordPress 網(wǎng)站中使用第三方 JavaScript 庫(kù)嗎?
是的,您可以在 WordPress 網(wǎng)站中使用第三方 JavaScript 庫(kù)。但是,務(wù)必確保該庫(kù)不會(huì)與網(wǎng)站上任何現(xiàn)有的腳本沖突。此外,下載第三方庫(kù)時(shí)應(yīng)始終使用受信任的來(lái)源,以避免安全問(wèn)題。
如何更新 WordPress 網(wǎng)站中的 PHP 庫(kù)?
可以通過(guò)下載最新版本的庫(kù)并將舊文件替換為新文件來(lái)更新 WordPress 網(wǎng)站中的 PHP 庫(kù)。但是,在進(jìn)行任何更改之前,務(wù)必備份您的網(wǎng)站,以避免丟失任何數(shù)據(jù)。
管理媒體文件的一些最佳 WordPress 插件是什么?
有幾個(gè) WordPress 插件可以幫助管理媒體文件。一些最流行的插件包括 WP Media Folder(允許您在文件夾中組織媒體文件)和 Smush(有助于優(yōu)化和壓縮圖像)。
如何將 JavaScript 添加到 WordPress 帖子或頁(yè)面?
可以通過(guò)在 Gutenberg 編輯器中使用自定義 HTML 塊將 JavaScript 添加到 WordPress 帖子或頁(yè)面。只需將您的 JavaScript 代碼粘貼到塊中,它將在查看頁(yè)面時(shí)包含在頁(yè)面中。
在 WordPress 中使用 JavaScript 和 PHP 庫(kù)的好處是什么?
在 WordPress 中使用 JavaScript 和 PHP 庫(kù)可以極大地增強(qiáng)網(wǎng)站的功能和用戶體驗(yàn)。它們可以幫助簡(jiǎn)化復(fù)雜的任務(wù)、提高性能并提供難以從頭實(shí)現(xiàn)的其他功能。
使用 WordPress 中的 JavaScript 和 PHP 庫(kù)是否存在任何風(fēng)險(xiǎn)?
雖然 JavaScript 和 PHP 庫(kù)可以提供許多好處,但如果使用不當(dāng),它們也可能帶來(lái)風(fēng)險(xiǎn)。例如,使用過(guò)時(shí)或維護(hù)不善的庫(kù)可能會(huì)導(dǎo)致安全漏洞。此外,使用過(guò)多的庫(kù)可能會(huì)對(duì)網(wǎng)站的性能產(chǎn)生負(fù)面影響。因此,務(wù)必謹(jǐn)慎使用庫(kù)并使其保持最新?tīng)顟B(tài)。
以上是WordPress使用的JavaScript和PHP庫(kù)的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)

WordPress導(dǎo)致服務(wù)器CPU使用率飆升的主要原因包括插件問(wèn)題、數(shù)據(jù)庫(kù)查詢效率低、主題代碼質(zhì)量差或流量激增。1.首先通過(guò)top、htop或控制面板工具確認(rèn)是否為WordPress引起的高負(fù)載;2.進(jìn)入故障排查模式逐步啟用插件排查性能瓶頸,使用QueryMonitor分析插件執(zhí)行情況并刪除或替換低效插件;3.安裝緩存插件、清理冗余數(shù)據(jù)、分析慢查詢?nèi)罩疽詢?yōu)化數(shù)據(jù)庫(kù);4.檢查主題是否存在過(guò)度加載內(nèi)容、復(fù)雜查詢或缺乏緩存機(jī)制等問(wèn)題,建議用標(biāo)準(zhǔn)主題測(cè)試對(duì)比并優(yōu)化代碼邏輯。按照上述步驟逐一排查可定位并解

優(yōu)化WordPress站點(diǎn)不依賴插件的方法包括:1.使用輕量級(jí)主題,如Astra或GeneratePress,避免功能堆砌的主題;2.手動(dòng)壓縮和合并CSS、JS文件,減少HTTP請(qǐng)求;3.上傳前優(yōu)化圖片,使用WebP格式并控制文件大?。?.配置.htaccess啟用瀏覽器緩存,并接入CDN提升靜態(tài)資源加載速度;5.限制文章修訂版本并定期清理數(shù)據(jù)庫(kù)冗余數(shù)據(jù)。

MinifyingJavaScript文件可通過(guò)刪除空白、注釋和無(wú)用代碼來(lái)提升WordPress網(wǎng)站加載速度。1.使用支持合并壓縮的緩存插件如W3TotalCache,在“Minify”選項(xiàng)中啟用并選擇壓縮模式;2.使用專用壓縮插件如FastVelocityMinify,提供更精細(xì)控制;3.手動(dòng)壓縮JS文件并通過(guò)FTP上傳,適用于熟悉開(kāi)發(fā)工具的用戶。注意部分主題或插件腳本可能與壓縮功能沖突,啟用后需徹底測(cè)試網(wǎng)站功能。

TransientsAPI是WordPress中用于臨時(shí)存儲(chǔ)可自動(dòng)過(guò)期數(shù)據(jù)的內(nèi)置工具,其核心函數(shù)為set_transient、get_transient和delete_transient。相比OptionsAPI,transients支持設(shè)置生存時(shí)間(TTL),適合緩存API請(qǐng)求結(jié)果、復(fù)雜計(jì)算數(shù)據(jù)等場(chǎng)景。使用時(shí)需注意key命名唯一性與命名空間、緩存“懶刪除”機(jī)制及對(duì)象緩存環(huán)境下可能不持久的問(wèn)題。典型應(yīng)用場(chǎng)景包括減少外部請(qǐng)求頻率、控制代碼執(zhí)行節(jié)奏和提升頁(yè)面加載性能。

對(duì)象緩存可輔助持久存儲(chǔ),適用于高訪問(wèn)低更新、可容忍短暫丟失的數(shù)據(jù)。1.適合用緩存“持久化”的數(shù)據(jù)包括用戶配置、熱門商品信息等,能從數(shù)據(jù)庫(kù)恢復(fù)但使用緩存可加速訪問(wèn)。2.選擇Redis等支持持久化的緩存后端,啟用RDB或AOF模式,并配置合理過(guò)期策略,但不能替代主數(shù)據(jù)庫(kù)。3.設(shè)置長(zhǎng)TTL或永不過(guò)期鍵,采用清晰鍵名結(jié)構(gòu)如user:1001:profile,修改數(shù)據(jù)時(shí)同步更新緩存。4.可結(jié)合本地與分布式緩存,本地存小數(shù)據(jù)、Redis存大數(shù)據(jù)并用于重啟后恢復(fù),同時(shí)注意一致性與資源占用問(wèn)題。

在開(kāi)發(fā)Gutenberg塊時(shí),正確enqueue資產(chǎn)的方法包括:1.使用register_block_type指定editor_script、editor_style和style的路徑;2.在functions.php或插件中通過(guò)wp_register_script和wp_register_style注冊(cè)資源,并設(shè)置正確的依賴和版本;3.配置構(gòu)建工具輸出合適的模塊格式,并確保路徑一致;4.通過(guò)add_theme_support或enqueue_block_assets控制前端樣式的加載邏輯,確保

PluginCheck是一個(gè)幫助WordPress用戶快速檢查插件兼容性和性能的工具,主要用來(lái)識(shí)別當(dāng)前安裝的插件是否存在與最新版本W(wǎng)ordPress不兼容、存在安全漏洞等問(wèn)題。1.如何開(kāi)始檢查?安裝激活后,在后臺(tái)點(diǎn)擊“RunaScan”按鈕即可自動(dòng)掃描所有插件;2.報(bào)告包含插件名稱、檢測(cè)類型、問(wèn)題描述及解決方案建議,便于優(yōu)先處理嚴(yán)重問(wèn)題;3.建議在更新WordPress前、網(wǎng)站異常時(shí)或定期運(yùn)行檢查,提前發(fā)現(xiàn)隱患,避免未來(lái)出現(xiàn)重大問(wèn)題。

防止評(píng)論垃圾信息最有效的方式是通過(guò)程序化手段自動(dòng)識(shí)別并攔截。1.使用驗(yàn)證碼機(jī)制(如GooglereCAPTCHA或hCaptcha)可有效區(qū)分人類與機(jī)器人,尤其適合公眾網(wǎng)站;2.設(shè)置隱藏字段(Honeypot技術(shù)),利用機(jī)器人自動(dòng)填寫(xiě)特性識(shí)別垃圾評(píng)論,不影響用戶體驗(yàn);3.檢查評(píng)論內(nèi)容關(guān)鍵詞黑名單,通過(guò)敏感詞匹配過(guò)濾垃圾信息,需注意避免誤判;4.判斷評(píng)論頻率與來(lái)源IP,限制單位時(shí)間內(nèi)的提交次數(shù)并建立黑名單;5.使用第三方反垃圾服務(wù)(如Akismet、Cloudflare)提升識(shí)別準(zhǔn)確性??筛鶕?jù)網(wǎng)站
