亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
快速入門
設(shè)置和控件
底層代碼
加載 JavaScript
下一步是什么?
首頁 CMS教程 &#&按 WordPress 定制器中的 JavaScript API 入門

WordPress 定制器中的 JavaScript API 入門

Sep 03, 2023 pm 11:13 PM

WordPress 定制器自誕生以來一直在積極開發(fā)。 API 不斷發(fā)展,包括 JavaScript API。然而,它是 WordPress Codex 中記錄最少的 API 之一。因此,只有少數(shù)詳細記錄展示了如何實際利用 JavaScript API。

利用 WordPress 定制器中的 JavaScript API 實際上可以使我們在定制主題時提供更引人注目的實時體驗,而不僅僅是將更改從控件投射到預(yù)覽窗口。

您可能熟悉如何使用定制器 JavaScript API 將更改實時投射到預(yù)覽窗口。為此,我們將設(shè)置 transport 模式設(shè)置為 postMessage 并添加相應(yīng)的 JavaScript 代碼,如下所示。

wp.customize( 'blogname', function( value ) {
	value.bind( function( to ) {
		$( '.site-title a' ).text( to );
	} );
} );

但是,我們還可以進一步擴展 API,例如隱藏、顯示或移動部分、面板、控件,根據(jù)另一個設(shè)置值更改設(shè)置的值,以及互連預(yù)覽和控件互動。這些就是我們將在本教程中研究的內(nèi)容。

快速入門

我們通過幾篇文章和幾個系列對 WordPress 定制器進行了相當(dāng)廣泛的介紹,涵蓋了定制器 API 的細節(jié)。

我想您已經(jīng)掌握了 WordPress 定制器的核心概念以及面板、部分、設(shè)置和控制等組件。否則,我強烈建議您在進一步了解之前花一些時間學(xué)習(xí)我們有關(guān)該主題的教程和視頻課程。

  • WordPress 主題定制器指南
  • WordPress 主題定制器
  • 編寫可供定制器使用的 WordPress 主題

設(shè)置和控件

首先,我們將檢查定制器中為本教程添加的“設(shè)置”和“控件”。我們還將研究將它們放在適當(dāng)位置的代碼。

WordPress 定制器中的 JavaScript API 入門

在本教程中,我們將重點關(guān)注網(wǎng)站“網(wǎng)站標(biāo)題”。正如您在上面看到的,我們有兩個控件:本機 WordPress“站點標(biāo)題”輸入字段和用于啟用或禁用“站點標(biāo)題”的自定義復(fù)選框。這兩個控件位于“站點標(biāo)識”部分。圖像的右側(cè)是預(yù)覽,您可以在其中看到正在渲染的“網(wǎng)站標(biāo)題”。

此外,正如您在下面看到的,我們還有兩個位于“顏色”部分的控件,用于更改“網(wǎng)站標(biāo)題”顏色及其 hover 狀態(tài)顏色。

WordPress 定制器中的 JavaScript API 入門

底層代碼

我們的主題基于下劃線,其中所有與定制器相關(guān)的代碼都放置在 /inc/customizer.php 文件中。

function tuts_customize_register( $wp_customize ) {

	$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';

	$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
	$wp_customize->get_control( 'blogdescription' )->priority = '12';

	$wp_customize->get_setting( 'header_textcolor' )->default = '#f44336';
	$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';

	// Checkbox to Display Blogname
	$wp_customize->add_setting( 'display_blogname', array(
		'transport' => 'postMessage',
	) );

	$wp_customize->add_control( 'display_blogname', array(
		'label'     => __( 'Display Site Title', 'tuts' ),
		'section'   => 'title_tagline',
		'type'      => 'checkbox',
		'priority'  => 11,
	) );

	// Add main text color setting and control.
	$wp_customize->add_setting( 'header_textcolor_hover', array(
		'default'           => '#C62828',
		'sanitize_callback' => 'sanitize_hex_color',
		'transport'         => 'postMessage',
	) );

	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'header_textcolor_hover', array(
		'label'    => __( 'Header Text Color: Hover', 'tuts' ),
		'section'  => 'colors',
		'priority' => '11'
	) ) );
}
add_action( 'customize_register', 'tuts_customize_register' );

正如您在上面看到的,我們對代碼進行了一些修改,以滿足本教程中的需求。

  • 我們將 WordPress 內(nèi)置設(shè)置 blogdescription 降低為 12,以便復(fù)選框設(shè)置 display_blogname 出現(xiàn)在“網(wǎng)站標(biāo)題”輸入字段下方。
  • 我們創(chuàng)建一個名為 display_blogname 的新控件。我們將 priority 設(shè)置為 11,在我們的示例中,它位于“網(wǎng)站標(biāo)題”和“標(biāo)語”輸入字段之間。
  • header_text 默認顏色設(shè)置為 #f44336,將 transport 類型設(shè)置為 postMessage。
  • 我們還創(chuàng)建了一個新設(shè)置,header_text_color。同樣,我們還將優(yōu)先級設(shè)置為 11,使其出現(xiàn)在 header_textcolor 設(shè)置下方。

所有這些設(shè)置均通過 postMessage 設(shè)置,而不是通過 refresh 設(shè)置。 postMessage 選項允許異步傳輸值并實時顯示在預(yù)覽窗口中。但是,我們還必須編寫自己的 JavaScript 來處理更改。

加載 JavaScript

我們需要創(chuàng)建兩個 JavaScript 文件:一個文件 customizer-preview.js 用于處理預(yù)覽,另一個文件 customizer-control.js 用于處理定制器面板內(nèi)的控件。< /p>

js
├── customizer-preview.js // 1. File to handle the Preview
├── customizer-control.js // 2. File to handle the Controls
├── navigation.js
└── skip-link-focus-fix.js

customizer-preview.js 中包含以下代碼。

( function( $ ) {
	// Codes here.
} )( jQuery );

它目前是一個空的封閉 JavaScript 函數(shù)。我們將在本系列的下一個教程中更具體地討論如何在預(yù)覽窗口中預(yù)覽更改。

在另一個文件 customizer-control.js 中,我們添加以下代碼:

(function( $ ) {
	wp.customize.bind( 'ready', function() {
		var customize = this;
		// Codes here
	} );
})( jQuery );

正如您在上面所看到的,我們將在自定義程序 ready 事件中將此代碼包裝在此文件中。這將確保在我們開始執(zhí)行任何自定義功能之前,自定義程序中的所有內(nèi)容都已完全準(zhǔn)備好,包括設(shè)置、面板和控件。

最后,添加代碼后,我們將在兩個不同的位置加載這兩個 JavaScript 文件。

// 1. customizer-preview.js
function tuts_customize_preview_js() {
	wp_enqueue_script( 'tuts_customizer_preview', get_template_directory_uri() . '/js/customizer-preview.js', array( 'customize-preview' ), null, true );
}
add_action( 'customize_preview_init', 'tuts_customize_preview_js' );

// 2. customizer-control.js
function tuts_customize_control_js() {
	wp_enqueue_script( 'tuts_customizer_control', get_template_directory_uri() . '/js/customizer-control.js', array( 'customize-controls', 'jquery' ), null, true );
}
add_action( 'customize_controls_enqueue_scripts', 'tuts_customize_control_js' );

customizer-preview.js 文件將通過 customize_preview_init 操作掛鉤加載到定制器預(yù)覽窗口中。 customizer-control.js 文件將加載到定制程序后端,其中的設(shè)置和控制元素可通過 customize_controls_enqueue_scripts 操作掛鉤訪問。

下一步是什么?

WordPress 自成立以來一直在 PHP 方面進行了大量投資。因此,支持該生態(tài)系統(tǒng)的大多數(shù)開發(fā)人員對 PHP API 比 JavaScript API 更加熟練和熟悉也就不足為奇了。

直到最近,它才通過定制器和 WP-API 廣泛集成了 JavaScript。掌握 WordPress 定制器中的 JavaScript API 可能是一個相當(dāng)大的挑戰(zhàn)。如前所述,WordPress 的這一面目前記錄最少。因此,我們將徹底討論這個主題。

同時,如果您正在尋找其他實用程序來幫助您構(gòu)建不斷增長的 WordPress 工具集,或者學(xué)習(xí)代碼并更加精通 WordPress,請不要忘記查看我們提供的內(nèi)容可在 Envato 市場購買。

在此,我們已準(zhǔn)備好使用 WordPress JavaScript API 的所有基本元素。我們就到此結(jié)束。在本系列的下一部分中,我們將揭示 WordPress 中 JavaScript API 背后的更多內(nèi)容,并開始編寫可立即在主題中實現(xiàn)的功能腳本。

敬請期待!

以上是WordPress 定制器中的 JavaScript API 入門的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
如何診斷WordPress引起的高CPU使用 如何診斷WordPress引起的高CPU使用 Jul 06, 2025 am 12:08 AM

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

如何在WordPress中縮小JavaScript文件 如何在WordPress中縮小JavaScript文件 Jul 07, 2025 am 01:11 AM

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

如何以編程方式防止評論垃圾郵件 如何以編程方式防止評論垃圾郵件 Jul 08, 2025 am 12:04 AM

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

如何爭取古騰堡大塊的資產(chǎn) 如何爭取古騰堡大塊的資產(chǎn) Jul 09, 2025 am 12:14 AM

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

如何向用戶添加自定義字段 如何向用戶添加自定義字段 Jul 06, 2025 am 12:18 AM

要添加自定義用戶字段需根據(jù)平臺選擇擴展方式并注意數(shù)據(jù)驗證與權(quán)限控制。常見做法包括:1.利用數(shù)據(jù)庫額外表或鍵值對結(jié)構(gòu)存儲信息;2.在前端加入輸入框并與后端集成;3.對敏感數(shù)據(jù)進行格式校驗和訪問權(quán)限限制;4.更新接口及模板以支持新字段展示與編輯,同時兼顧移動端適配和用戶體驗。

如何添加自定義重寫規(guī)則 如何添加自定義重寫規(guī)則 Jul 08, 2025 am 12:11 AM

在WordPress中添加自定義重寫規(guī)則的關(guān)鍵在于使用add_rewrite_rule函數(shù)并確保規(guī)則正確生效。1.使用add_rewrite_rule注冊規(guī)則,格式為add_rewrite_rule($regex,$redirect,$after),其中$regex是正則表達式匹配URL,$redirect指定實際查詢,$after控制規(guī)則位置;2.需通過add_filter添加自定義查詢變量;3.修改后必須刷新固定鏈接設(shè)置;4.建議將規(guī)則放在'top'以避免沖突;5.可借助插件查看當(dāng)前規(guī)則便于

如何優(yōu)化WordPress機器人TXT 如何優(yōu)化WordPress機器人TXT Jul 13, 2025 am 12:37 AM

robots.txt對WordPress網(wǎng)站的SEO至關(guān)重要,能引導(dǎo)搜索引擎抓取行為,避免重復(fù)內(nèi)容并提升效率。1.屏蔽如/wp-admin/、/wp-includes/等系統(tǒng)路徑,但避免誤封/uploads/目錄;2.添加Sitemap路徑如Sitemap:https://yourdomain.com/sitemap.xml以幫助搜索引擎快速發(fā)現(xiàn)站點地圖;3.限制/page/和帶參數(shù)的URL以減少爬蟲浪費,但需注意勿封重要歸檔頁;4.避免常見錯誤如誤封全站、緩存插件影響更新及忽略移動端與子域名配

如何介紹WordPress性能 如何介紹WordPress性能 Jul 07, 2025 am 12:43 AM

1.使用性能分析插件可快速定位問題,如QueryMonitor可查看數(shù)據(jù)庫查詢次數(shù)與PHP錯誤,BlackboxProfiler生成函數(shù)執(zhí)行報告,NewRelic提供服務(wù)器級分析;2.分析PHP執(zhí)行性能需檢查耗時函數(shù)、調(diào)試工具使用及內(nèi)存分配情況,如Xdebug生成火焰圖輔助優(yōu)化;3.監(jiān)控數(shù)據(jù)庫查詢效率可通過慢查詢?nèi)罩九c索引檢查,QueryMonitor能列出所有SQL并按時間排序;4.結(jié)合GooglePageSpeedInsights、GTmetrix與WebPageTest等外部工具評估前端加

See all articles