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

目錄
快速入門
設定和控制項
底層程式碼
載入 JavaScript
下一步是什么?
首頁 CMS教程 &#&按 WordPress 自訂器中的 JavaScript API 入門

WordPress 自訂器中的 JavaScript API 入門

Sep 03, 2023 pm 11:13 PM

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

利用 WordPress 自訂器中的 JavaScript API 實際上可以讓我們在自訂主題時提供更引人注目的即時體驗,而不僅僅是將變更從控制項投射到預覽視窗。

您可能熟悉如何使用自訂器 JavaScript API 將變更即時投射到預覽視窗。為此,我們將設定 transport 模式設為 postMessage 並新增對應的 JavaScript 程式碼,如下所示。

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

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

快速入門

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

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

  • WordPress 主題自訂器指南
  • WordPress 主題自訂器
  • 編寫可供自訂器使用的 WordPress 主題

設定和控制項

首先,我們將檢查定制器中為本教程新增的「設定」和「控制」。我們還將研究將它們放在適當位置的程式碼。

WordPress 定制器中的 JavaScript API 入門

在本教學中,我們將專注於網站「網站標題」。如您在上面看到的,我們有兩個控制項:本機 WordPress「網站標題」輸入欄位和用於啟用或停用「網站標題」的自訂複選框。這兩個控制項位於「網站標識」部分。圖像的右側是預覽,您可以在其中看到正在渲染的「網站標題」。

此外,正如您在下面看到的,我們還有兩個位於「顏色」部分的控件,用於更改「網站標題」顏色及其 hover 狀態(tài)顏色。

WordPress 定制器中的 JavaScript API 入門

底層程式碼

我們的主題是基於下劃線,其中所有與自訂器相關的程式碼都放置在 /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 內建設定 blogdescription 降低到 12,以便複選框設定 display_blogname 出現在「網站標題」輸入欄位下方。
  • 我們建立一個名為 display_blogname 的新控制項。我們將 priority 設定為 11,在我們的範例中,它位於「網站標題」和「標語」輸入欄位之間。
  • header_text 預設顏色設為 #f44336,將 transport 類型設為 postMessage
  • 我們也建立了一個新設置,header_text_color。同樣,我們也將優(yōu)先權設定為 11,使其出現在 header_textcolor 設定下方。

所有這些設定均透過 postMessage 設置,而不是透過 refresh 設定。 postMessage 選項允許非同步傳輸值並即時顯示在預覽視窗中。但是,我們也必須編寫自己的 JavaScript 來處理變更。

載入 JavaScript

我們需要建立兩個JavaScript 檔案:一個檔案customizer-preview.js 用於處理預覽,另一個檔案customizer-control.js 用於處理自訂器面板內的控件。 < /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 函數。我們將在本系列的下一個教學中更具體地討論如何在預覽視窗中預覽變更。

在另一個檔案 customizer-control.js 中,我們加入以下程式碼:

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

如您在上面所看到的,我們將在自訂程式 ready 事件中將此程式碼包裝在此檔案中。這將確保在我們開始執(zhí)行任何自訂功能之前,自訂程式中的所有內容都已完全準備好,包括設定、面板和控制項。

最後,在新增程式碼後,我們將在兩個不同的位置載入這兩個 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 操作掛鉤加載到定制器預覽窗口中。 customizer-control.js 文件將加載到定制程序后端,其中的設置和控制元素可通過 customize_controls_enqueue_scripts 操作掛鉤訪問。

下一步是什么?

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

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

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

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

敬請期待!

以上是WordPress 自訂器中的 JavaScript API 入門的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創(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

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

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何恢復WordPress核心更新 如何恢復WordPress核心更新 Jul 02, 2025 am 12:05 AM

要回滾WordPress版本,可使用插件或手動替換核心文件,並禁用自動更新。 1.使用WPDowngrade等插件輸入目標版本號即可自動下載替換;2.手動下載舊版WordPress並通過FTP替換wp-includes、wp-admin等文件但保留wp-config.php和wp-content;3.在wp-config.php中添加代碼或使用過濾器禁用核心自動更新以防止再次升級。操作前務必備份網站和數據庫,確保安全可靠。長期建議保持最新版以保障安全性與功能支持。

如何在WordPress中創(chuàng)建自定義短代碼 如何在WordPress中創(chuàng)建自定義短代碼 Jul 02, 2025 am 12:21 AM

在WordPress中創(chuàng)建自定義短代碼的步驟如下:1.通過functions.php文件或自定義插件編寫PHP函數;2.使用add_shortcode()將函數綁定到短代碼標籤;3.在函數中處理參數並返回輸出內容。例如,創(chuàng)建按鈕短代碼時可定義顏色和鏈接參數,實現靈活配置。使用時可在編輯器中插入類似[buttoncolor="red"url="https://example.com"]點擊這裡[/button]的標籤,並可通過do_shortcode()在模

如何診斷WordPress引起的高CPU使用 如何診斷WordPress引起的高CPU使用 Jul 06, 2025 am 12:08 AM

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

如何在沒有插件的情況下優(yōu)化WordPress 如何在沒有插件的情況下優(yōu)化WordPress Jul 05, 2025 am 12:01 AM

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

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

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

如何使用瞬態(tài)API進行緩存 如何使用瞬態(tài)API進行緩存 Jul 05, 2025 am 12:05 AM

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

如何使用對象緩存進行持續(xù)存儲 如何使用對象緩存進行持續(xù)存儲 Jul 03, 2025 am 12:23 AM

對象緩存可輔助持久存儲,適用於高訪問低更新、可容忍短暫丟失的數據。 1.適合用緩存“持久化”的數據包括用戶配置、熱門商品信息等,能從數據庫恢復但使用緩存可加速訪問。 2.選擇Redis等支持持久化的緩存後端,啟用RDB或AOF模式,並配置合理過期策略,但不能替代主數據庫。 3.設置長TTL或永不過期鍵,採用清晰鍵名結構如user:1001:profile,修改數據時同步更新緩存。 4.可結合本地與分佈式緩存,本地存小數據、Redis存大數據並用於重啟後恢復,同時注意一致性與資源佔用問題。

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

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

See all articles