Table des matières
Démarrage rapide
Paramètres et contrôles
Code sous-jacent
Charger JavaScript
下一步是什么?
Maison interface Web js tutoriel Premiers pas : Comprendre l'API JavaScript de WordPress Customizer

Premiers pas : Comprendre l'API JavaScript de WordPress Customizer

Sep 02, 2023 am 10:45 AM

Le personnalisateur WordPress a été activement développé depuis sa création. Les API évoluent constamment, y compris les API JavaScript. Cependant, c’est l’une des API les moins documentées du Codex WordPress. En conséquence, il n'existe que quelques enregistrements détaillés montrant comment réellementexploiter l'API JavaScript.

Tirer parti de l'API JavaScript dans WordPress Customizer nous permet en fait de fournir une expérience en temps réel plus convaincante lors de la personnalisation d'un thème, plutôt que de simplement diffuser les modifications du contrôle vers la fenêtre d'aperçu.

Vous savez peut-être comment utiliser l'API JavaScript Customizer pour apporter des modifications à la fenêtre d'aperçu en temps réel. Pour ce faire, nous allons configurer transport 模式设置为 postMessage et ajouter le code JavaScript correspondant comme indiqué ci-dessous.

wp.customize( 'blogname', function( value ) {
	value.bind( function( to ) {
		$( '.site-title a' ).text( to );
	} );
} );
Copier après la connexion

Cependant, nous pouvons également étendre davantage l'API, comme masquer, afficher ou déplacer des pièces, des panneaux, des contrôles, modifier la valeur d'un paramètre en fonction de la valeur d'un autre paramètre et interconnecter les aperçus et les interactions de contrôle. C'est ce que nous allons examiner dans ce tutoriel.

Démarrage rapide

Nous avons couvert de manière assez approfondie le WordPress Customizer dans plusieurs articles et séries, couvrant les détails de l'API Customizer.

Je pense que vous avez compris les concepts de base du personnalisateur WordPress et des composants tels que les panneaux, les sections, les paramètres et les contrôles. Sinon, je vous recommande fortement de consacrer un peu de temps à étudier nos tutoriels et cours vidéo sur le sujet avant d'aller plus loin.

  • Guide de personnalisation du thème WordPress
  • Personnalisateur de thème WordPress
  • Écrivez des thèmes WordPress pouvant être utilisés par les personnalisateurs

Paramètres et contrôles

Nous allons d’abord vérifier les paramètres et contrôles ajoutés dans le personnalisateur pour ce didacticiel. Nous examinerons également le code pour les mettre en place.

起步:了解WordPress自定义器JavaScript API

Dans ce tutoriel, nous nous concentrerons sur le site Web « Titre du site Web ». Comme vous pouvez le voir ci-dessus, nous avons deux contrôles : le champ de saisie natif WordPress « Titre du site » et une case à cocher personnalisée pour activer ou désactiver le « Titre du site ». Ces deux contrôles se trouvent dans la section Identification du site. À droite de l'image se trouve un aperçu où vous pouvez voir le rendu du « Titre du site ».

De plus, comme vous pouvez le voir ci-dessous, nous avons deux contrôles situés dans la section Couleurs pour modifier la couleur du titre du site et sa hover couleur d'état.

起步:了解WordPress自定义器JavaScript API

Code sous-jacent

Notre thème est basé sur le trait de soulignement où tout le code lié au personnalisateur est placé dans des fichiers /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' );
Copier après la connexion

Comme vous pouvez le voir ci-dessus, nous avons apporté quelques modifications au code pour répondre aux besoins de ce tutoriel.

  • Nous avons fait apparaître les paramètres intégrés de WordPress blogdescription 降低为 12,以便复选框设置 display_blogname sous le champ de saisie « Titre du site ».
  • Nous créons un champ appelé display_blogname 的新控件。我们将 priority 设置为 11 qui dans notre cas se situe entre les champs de saisie « Titre du site » et « Slogan ».
  • volonté header_text 默认颜色设置为 #f44336,并将 transport 类型设置为 postMessage.
  • Nous avons également créé un nouveau paramètre, header_text_color。同样,我们还将优先级设置为 11,使其出现在 header_textcolor sous Paramètres.

Tous ces paramètres sont activés via l'option postMessage 设置,而不是通过 refresh 设置。 postMessage permettant de transférer les valeurs de manière asynchrone et d'afficher dans la fenêtre d'aperçu en temps réel. Cependant, nous devons également écrire notre propre JavaScript pour gérer les modifications.

Charger JavaScript

Nous devons créer deux fichiers JavaScript : Un fichier customizer-preview.js 用于处理预览,另一个文件 customizer-control.js pour gérer les contrôles dans le panneau de personnalisation. < /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
Copier après la connexion

Insérez le code suivant entre customizer-preview.js.

( function( $ ) {
	// Codes here.
} )( jQuery );
Copier après la connexion

Il s'agit actuellement d'une fonction JavaScript vide et fermée. Nous verrons plus spécifiquement comment prévisualiser les modifications dans la fenêtre d'aperçu dans le prochain didacticiel de cette série.

Dans un autre fichier customizer-control.js on ajoute le code suivant :

(function( $ ) {
	wp.customize.bind( 'ready', function() {
		var customize = this;
		// Codes here
	} );
})( jQuery );
Copier après la connexion

Comme vous pouvez le voir ci-dessus, nous envelopperons ce code dans ce fichier dans l'événement de personnalisation ready. Cela garantira que tout dans le personnalisateur, y compris les paramètres, les panneaux et les contrôles, est complètement prêt avant de commencer à exécuter une fonctionnalité personnalisée.

Enfin, après avoir ajouté le code, nous chargerons ces deux fichiers JavaScript à deux emplacements différents.

// 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' );
Copier après la connexion

customizer-preview.js 文件将通过 customize_preview_init 操作挂钩加载到定制器预览窗口中。 customizer-control.js 文件将加载到定制程序后端,其中的设置和控制元素可通过 customize_controls_enqueue_scripts 操作挂钩访问。

下一步是什么?

WordPress 自成立以来一直在 PHP 方面进行了大量投资。因此,支持该生态系统的大多数开发人员对 PHP API 比 JavaScript API 更加熟练和熟悉也就不足为奇了。

直到最近,它才通过定制器和 WP-API 广泛集成了 JavaScript。掌握 WordPress 定制器中的 JavaScript API 可能是一个相当大的挑战。如前所述,WordPress 的这一面目前记录最少。因此,我们将彻底讨论这个主题。

同时,如果您正在寻找其他实用程序来帮助您构建不断增长的 WordPress 工具集,或者学习代码并更加精通 WordPress,请不要忘记查看我们提供的内容可在 Envato 市场购买。

在此,我们已准备好使用 WordPress JavaScript API 的所有基本元素。我们就到此结束。在本系列的下一部分中,我们将揭示 WordPress 中 JavaScript API 背后的更多内容,并开始编写可立即在主题中实现的功能脚本。

敬请期待!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer et publier mes propres bibliothèques JavaScript? Comment créer et publier mes propres bibliothèques JavaScript? Mar 18, 2025 pm 03:12 PM

L'article discute de la création, de la publication et du maintien des bibliothèques JavaScript, en se concentrant sur la planification, le développement, les tests, la documentation et les stratégies de promotion.

Comment optimiser le code JavaScript pour les performances dans le navigateur? Comment optimiser le code JavaScript pour les performances dans le navigateur? Mar 18, 2025 pm 03:14 PM

L'article traite des stratégies pour optimiser les performances JavaScript dans les navigateurs, en nous concentrant sur la réduction du temps d'exécution et la minimisation de l'impact sur la vitesse de chargement de la page.

Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Comment déboguer efficacement le code JavaScript à l'aide d'outils de développeur de navigateur? Comment déboguer efficacement le code JavaScript à l'aide d'outils de développeur de navigateur? Mar 18, 2025 pm 03:16 PM

L'article traite du débogage efficace de JavaScript à l'aide d'outils de développeur de navigateur, de se concentrer sur la définition des points d'arrêt, de l'utilisation de la console et d'analyser les performances.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

Comment utiliser les cartes source pour déboguer le code JavaScript minifié? Comment utiliser les cartes source pour déboguer le code JavaScript minifié? Mar 18, 2025 pm 03:17 PM

L'article explique comment utiliser les cartes source pour déboguer JavaScript minifiée en le mappant au code d'origine. Il discute de l'activation des cartes source, de la définition de points d'arrêt et de l'utilisation d'outils comme Chrome Devtools et WebPack.

Démystifier javascript: ce qu'il fait et pourquoi c'est important Démystifier javascript: ce qu'il fait et pourquoi c'est important Apr 09, 2025 am 12:07 AM

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

See all articles