核心要點
- WordPress 支持條件加載樣式表和腳本,確保這些文件僅在需要時加載,從而加快網(wǎng)站加載速度,并減少用戶不必要的數(shù)據(jù)下載量。
- 樣式和腳本應遵循 WordPress.org 編碼標準中推薦的最佳實踐進行加載,使用標準的 WordPress 方法可避免不兼容問題,并確保網(wǎng)站保持高效。
- WordPress 提供
wp_enqueue_style
和wp_enqueue_script
函數(shù),分別用于包含自定義樣式表和 JavaScript 文件。這些函數(shù)確保 WordPress 找到所有必需的樣式表和腳本,并按正確的順序下載它們。 - WordPress 提供條件標簽,可與
if...else
語句結合使用,以確定在特定條件下應用哪些代碼。這些標簽可用于確保僅在訪問者訪問網(wǎng)站的特定頁面時才下載特定的樣式表和腳本。
此文章是與 SiteGround 合作創(chuàng)建的系列文章的一部分。感謝您支持使 SitePoint 成為可能的合作伙伴。
如果您的 WordPress 網(wǎng)站只需要在特定頁面或僅在有限的條件下使用特定的樣式表或 JavaScript 文件,則無需在網(wǎng)站的每個地方都加載這些文件。
本文將指導您學習如何僅在網(wǎng)站需要時加載 CSS 樣式和腳本。通過這種方式,您的網(wǎng)站將加載更快,并且不會訪問包含額外文件的頁面的用戶無需在瀏覽器中下載不必要的數(shù)據(jù)。
為什么應該以 WordPress 的方式添加樣式和腳本?
如果 WordPress 開發(fā)中存在反模式,那就是在 HTML 文檔的 部分添加
<link>
和 <script></script>
標簽來分別加載樣式表和 JavaScript 文件,然后就完事了。
運行 WordPress 網(wǎng)站涉及使用來自軟件本身、許多插件和活動主題的樣式表和 JavaScript 代碼。
這意味著主題或插件作者事先不知道特定安裝將運行哪些樣式和腳本,或者需要這些資源的順序。例如,讓我們以 jQuery 庫為例。WordPress 本身可以使用此庫來處理 Ajax 請求和其他任務,多個插件和活動主題也可以使用它。
如果插件和主題作者通過直接在 HTML 文檔中添加相應的標簽來包含他們需要的樣式表和腳本,這可能會導致沖突、資源被多次加載和/或加載順序錯誤的可能性。
這就是為什么您應該始終按照 WordPress.org 編碼標準中推薦的最佳實踐來加載樣式和腳本:
為了使一切和諧地工作,主題和插件使用標準的 WordPress 方法加載腳本和樣式表非常重要。這將確保網(wǎng)站保持高效,并且不會出現(xiàn)不兼容問題。
包含 CSS 和 JavaScript — 主題手冊
如何使用 wp_enqueue_style
和 wp_enqueue_script
將自定義樣式表包含到主題中的基本函數(shù)如下所示:
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
只有前兩個參數(shù)是必需的,其他參數(shù)是可選的。
$handle
參數(shù)是樣式表的名稱。您可以根據(jù)文件用途將其命名為 main、portfolio 等。如果您包含來自 JavaScript 插件的樣式表,只需使用插件的名稱即可。$src
代表樣式表所在 URL。$deps
參數(shù)指定此樣式表是否依賴于另一個樣式表才能正常工作。$ver
確定樣式表的版本號。$media
代表樣式表適用的媒體類型,例如 all、screen、print 等。
例如,將名為 portfolio.css 的樣式表添加到您的 WordPress 網(wǎng)站的代碼可能如下所示:
wp_enqueue_style( 'portfolio', get_template_directory_uri() . '/css/portfolio.css',false,null,'screen');
要包含 JavaScript 文件,您應該使用:
wp_enqueue_script($handle, $src, $deps, $ver, $in_footer)
這些參數(shù)與 wp_enqueue_style
中的參數(shù)類似,除了最后一個參數(shù),它根據(jù)您是否要將 <script>
標簽放在文檔的 <head>
或 <body>
部分設置 true 或 false 值。
假設您想將 portfolio.js 添加到您的網(wǎng)站,代碼如下所示:
wp_enqueue_script( 'portfolio', get_template_directory_uri() . '/js/portfolio.js', array ( 'jquery' ), null, true);
此代碼告訴 WordPress:
- 您要使用 portfolio 文件,該文件位于活動主題目錄內的 js 子文件夾中。
- WordPress 需要在加載 portfolio.js 之前下載 jQuery,否則后者將無法正常工作(您無需導入 jQuery,因為它默認情況下已與 WordPress 捆綁在一起)。
- WordPress 需要在 HTML 文檔的
<body>
部分添加此文件。
您可能需要包含多個樣式表或腳本文件,在這種情況下,將所有對 wp_enqueue_style()
和 wp_enqueue_script()
的調用包裝在一個函數(shù)中,然后將此函數(shù)掛接到適當?shù)?WordPress 操作掛鉤。
這是一個例子。如果您正在開發(fā) WordPress 主題,您可以將其添加到您的 functions.php 文件中。
function mytheme_styles_scripts() { // 主樣式表,style.css wp_enqueue_style( 'style', get_stylesheet_uri() ); // 作品集部分的樣式表 // (與網(wǎng)站的其余部分不同) wp_enqueue_style( 'portfolio', get_template_directory_uri() . '/css/portfolio.css',false,null,'screen'); // 作品集部分的 JS wp_enqueue_script( 'portfolio', get_template_directory_uri() . '/js/portfolio.js', array ( 'jquery' ), null, true); } // 將函數(shù)掛接到 wp_enqueue_scripts 操作掛鉤 add_action( 'wp_enqueue_scripts', 'mytheme_styles_scripts' );
現(xiàn)在您可以放心,WordPress 將找到所有必需的樣式表和腳本,并按正確的順序下載它們。
樣式表和腳本的條件加載
上面的代碼運行良好,并遵循 WordPress 的最佳實踐。但是,WordPress 將在您的網(wǎng)站的每個地方下載 portfolio.css 和 portfolio.js。如果您的訪問者從未訪問過您的作品集頁面,這很不幸,但可能會發(fā)生,瀏覽器將加載兩個不必要的文件。
現(xiàn)在,讓我們更進一步,確保 WordPress 僅當訪問者訪問您的作品集部分時才包含 portfolio.css 和 portfolio.js。
WordPress 條件標簽
WordPress 提供條件標簽,這些標簽與常規(guī)的 if...else
語句結合使用,可以很容易地選擇在特定條件下應用哪些代碼。
例如,如果您只想在網(wǎng)站的主頁上執(zhí)行某些代碼,而在其他地方執(zhí)行其他代碼,那么您將編寫如下內容:
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
相反,如果您想在網(wǎng)站主頁以外的任何地方執(zhí)行某些代碼,您將編寫:
wp_enqueue_style( 'portfolio', get_template_directory_uri() . '/css/portfolio.css',false,null,'screen');
WordPress 提供大量的條件標簽,您可以在主題手冊的條件標簽章節(jié)中查看完整的列表。
您可以利用條件標簽來確保 WordPress 僅當訪問者訪問您的網(wǎng)站的作品集頁面時才下載 portfolio.css 和 portfolio.js。
讓我們檢查一下您可以做到這一點的一些方法。
使用頁面 ID
您可以使用條件標簽來檢查用戶是否使用作品集頁面 ID 位于網(wǎng)站的作品集頁面上。
要了解頁面 ID,請執(zhí)行以下操作:
- 登錄到您的 WordPress 網(wǎng)站的管理面板。
- 點擊頁面以訪問網(wǎng)站上所有頁面的列表。
- 點擊您感興趣的頁面的標題,在編輯器中打開它。
- 現(xiàn)在頁面已在編輯器中打開,請查看瀏覽器地址欄中的 URL。您應該看到類似于 post= 加上一個數(shù)字的內容。該數(shù)字是頁面 ID:
現(xiàn)在您知道了頁面 ID,您可以使用條件標簽修改先前包含主題樣式表和腳本的代碼,如下所示:
wp_enqueue_script($handle, $src, $deps, $ver, $in_footer)
使用頁面標題
頁面的條件標簽也適用于頁面標題。如果您的作品集頁面的標題為“我的作品集”,則代碼可能如下所示(為了簡潔起見,我只是添加了條件部分):
wp_enqueue_script( 'portfolio', get_template_directory_uri() . '/js/portfolio.js', array ( 'jquery' ), null, true);
使用頁面別名
您可以將條件標簽與頁面別名一起使用,頁面別名是該頁面的用戶友好 URL。以下是實際應用中的樣子:
function mytheme_styles_scripts() { // 主樣式表,style.css wp_enqueue_style( 'style', get_stylesheet_uri() ); // 作品集部分的樣式表 // (與網(wǎng)站的其余部分不同) wp_enqueue_style( 'portfolio', get_template_directory_uri() . '/css/portfolio.css',false,null,'screen'); // 作品集部分的 JS wp_enqueue_script( 'portfolio', get_template_directory_uri() . '/js/portfolio.js', array ( 'jquery' ), null, true); } // 將函數(shù)掛接到 wp_enqueue_scripts 操作掛鉤 add_action( 'wp_enqueue_scripts', 'mytheme_styles_scripts' );
結論
在本文中,我討論了如何在 WordPress 網(wǎng)站中以條件方式包含樣式表和腳本文件。在某些情況下,額外的樣式數(shù)量很少,因此為它們創(chuàng)建專用樣式表沒有多大意義。這只會生成一個您的網(wǎng)站可能不需要的 HTTP 請求。
但是,在適當?shù)臈l件下,例如,頁面或主題區(qū)域的設計與網(wǎng)站的其余部分不同,樣式表和腳本的選擇性加載遵循 WordPress 的最佳實踐,并確保訪問者的瀏覽器僅下載顯示所需內容所需的數(shù)據(jù)量。
您如何將自定義腳本和樣式包含到您的 WordPress 網(wǎng)站中?點擊下面的評論框分享。
關于 WordPress 中條件標簽和加載樣式和腳本的常見問題解答 (FAQ)
WordPress 中的條件標簽是什么,它們是如何工作的?
WordPress 中的條件標簽是在主題文件中使用的 PHP 函數(shù),用于根據(jù)頁面滿足的條件來更改特定頁面上顯示的內容。它們用于確定是否滿足特定條件,然后再執(zhí)行特定函數(shù)。例如,您可以使用條件標簽來檢查頁面是否是單個帖子,然后再顯示特定的側邊欄。
如何使用條件標簽在 WordPress 中加載樣式和腳本?
要在 WordPress 中使用條件標簽加載樣式和腳本,您需要在主題的 functions.php 文件中添加您的腳本和樣式。您可以將 wp_enqueue_script
和 wp_enqueue_style
函數(shù)與條件標簽一起使用。例如,如果您只想在主頁上加載腳本,可以使用 is_home()
條件標簽。
WordPress 中的一些常用條件標簽是什么?
WordPress 中的一些常用條件標簽包括 is_single()
、is_page()
、is_home()
、is_front_page()
、is_category()
、is_tag()
、is_author()
等。每個標簽都檢查特定條件,例如頁面是否是單個帖子、特定頁面、主頁、首頁、類別頁面、標簽頁面或作者頁面。
如何在 WordPress 中創(chuàng)建條件代碼片段?
要在 WordPress 中創(chuàng)建條件代碼片段,您需要在 PHP if
語句中使用條件標簽。只有在滿足條件時,if
語句中的代碼才會執(zhí)行。例如,要僅在主頁上顯示代碼片段,可以在 if
語句中使用 is_home()
條件標簽。
為什么我的樣式?jīng)]有在 WordPress 中加載?
如果您的樣式?jīng)]有在 WordPress 中加載,可能是由于多種原因造成的。最常見的原因是樣式文件沒有在 functions.php 文件中正確注冊。確保您已正確使用 wp_enqueue_style
函數(shù)。此外,請檢查文件路徑和依賴項是否正確。如果您使用條件標簽,請確保滿足條件。
如何以正確的方式在 WordPress 中加載條件 CSS?
要在 WordPress 中加載條件 CSS,您需要使用 wp_enqueue_style
函數(shù)在主題的 functions.php 文件中注冊 CSS 文件。您可以使用條件標簽來指定應加載 CSS 文件的條件。例如,要僅在主頁上加載 CSS 文件,可以使用 is_home()
條件標簽。
我可以在 WordPress 中使用多個條件標簽嗎?
是的,您可以在 WordPress 中使用多個條件標簽。您可以使用邏輯運算符(如 AND(&&)和 OR(||))將它們組合起來。例如,要檢查頁面是否是單個帖子并且不是主頁,您可以將 is_single()
和 !is_home()
條件標簽一起使用。
如何使用條件標簽為 WordPress 中的不同頁面加載不同的樣式?
要為 WordPress 中的不同頁面加載不同的樣式,您可以在主題的 functions.php 文件中使用條件標簽。對于每種樣式,請使用 wp_enqueue_style
函數(shù)以及檢查特定頁面的條件標簽。例如,要為主頁加載特定樣式,為單個帖子加載不同的樣式,可以使用 is_home()
和 is_single()
條件標簽。
WordPress 中 is_home()
和 is_front_page()
條件標簽有什么區(qū)別?
WordPress 中的 is_home()
條件標簽檢查是否正在顯示主頁,而 is_front_page()
條件標簽檢查是否正在顯示首頁。如果您已將首頁設置為顯示您的最新帖子,則這兩個標簽都將返回 true。但是,如果您已將靜態(tài)頁面設置為首頁,則 is_front_page()
將為此頁面返回 true,而 is_home()
將為設置為帖子頁面的頁面返回 true。
我可以在 WordPress 中循環(huán)之外使用條件標簽嗎?
是的,您可以在 WordPress 中循環(huán)之外使用條件標簽。但是,某些條件標簽(如 is_single()
和 is_page()
)在循環(huán)之前使用時可能無法按預期工作。這是因為 WordPress 只有在循環(huán)開始后才知道查詢的細節(jié)。因此,通常建議在循環(huán)內或循環(huán)開始后使用這些條件標簽。
以上是在WordPress中加載樣式和腳本的條件標簽的詳細內容。更多信息請關注PHP中文網(wǎng)其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣服圖片

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

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

Clothoff.io
AI脫衣機

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

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

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

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

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

使用Git管理WordPress項目時,應只將主題、自定義插件和配置文件納入版本控制;設置.gitignore文件以忽略上傳目錄、緩存和敏感配置;利用webhook或CI工具實現(xiàn)自動部署并注意數(shù)據(jù)庫處理;采用兩分支策略(main/develop)進行協(xié)作開發(fā)。這樣做可避免沖突、保障安全,并提升協(xié)作與部署效率。

創(chuàng)建Gutenberg塊的關鍵在于理解其基本結構并正確連接前后端資源。1.準備開發(fā)環(huán)境:安裝本地WordPress、Node.js和@wordpress/scripts;2.使用PHP注冊塊并用JavaScript定義塊的編輯和顯示邏輯;3.通過npm構建JS文件以使更改生效;4.遇到問題時檢查路徑、圖標是否正確或使用實時監(jiān)聽構建避免重復手動編譯。按照這些步驟,可以逐步實現(xiàn)一個簡單的Gutenberg塊。

在WordPress中,當新增自定義文章類型或修改固定鏈接結構后,需手動刷新重寫規(guī)則,此時可通過代碼調用flush_rewrite_rules()函數(shù)實現(xiàn)。1.可在主題或插件激活鉤子中添加該函數(shù)以自動刷新;2.僅在必要時執(zhí)行一次,如添加CPT、分類法或修改鏈接結構后;3.避免頻繁調用以免影響性能;4.多站點環(huán)境下需視情況為每個站點單獨刷新;5.某些托管環(huán)境可能限制規(guī)則保存。此外,訪問“設置>固定鏈接”頁面點擊保存也可觸發(fā)刷新,適合非自動化場景。

要實現(xiàn)響應式WordPress主題設計,首先要使用HTML5和移動優(yōu)先的Meta標簽,在header.php中添加viewport設置以確保移動端正確顯示,并用HTML5結構標簽組織布局;其次,利用CSS媒體查詢實現(xiàn)不同屏幕寬度下的樣式適配,按移動優(yōu)先原則編寫樣式,常用斷點包括480px、768px和1024px;第三,彈性處理圖片和布局,為圖片設置max-width:100%并使用Flexbox或Grid布局替代固定寬度;最后,通過瀏覽器開發(fā)者工具和真實設備進行充分測試,優(yōu)化加載性能,確保響應

tosetupredirectsinwordpressingthe.htaccessfile,locateThEfileInyourSite'sRootDirectorectoryAndDrectRectrulesabovethe#beginWordPresssection.forbasic301redirects,USETHEETHEETERECTREFTATRECTATREDERTREFTATREDERTREFTATRECTRECTATRECTRECTATREDECT301/OLD-PAGEHTTPS:

TOINTEGRATETHIRD-PARTYAPISINTOWORDPRESS,關注臺詞:1.SelectAutableabepianDobtainCredentialslikeapikeYsoroAuthtoKensByEnterRegisteringThemSecure.2.ChooseBeteBetB??eteBetB??eteBetB??etebetInpliCityOorcustimplicityOrcustomPliCoseTompliCoseTomploomcoseusionfunctionfunctionfunctibunitiacuciencipuity forfunigation。

UsingsMtpForWordPresseMailSimProvesDeliverabilitialComparedComparedTothEdeDefaultPhpMail()函數(shù).1.smtpauthenticateswithyouremailserver.2.somemomehostsdisablesablephpmail()

1.使用插件如WPCrontrol或AdvancedCronManager可直接在后臺查看Cron事件;2.也可通過訪問數(shù)據(jù)庫wp_options表解碼cron鍵值查看;3.調試異常時可禁用WP-Cron并設置系統(tǒng)Cron任務提升可靠性;4.手動運行或刪除事件可通過插件或添加代碼實現(xiàn)。建議優(yōu)先使用插件管理,熟悉SQL的用戶可選數(shù)據(jù)庫操作,調試時注意觸發(fā)機制和訪問量影響。
