WordPress 定制器自诞生以来一直在积极开发。 API 不断发展,包括 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 的细节。
我想您已经掌握了 WordPress 定制器的核心概念以及面板、部分、设置和控制等组件。否则,我强烈建议您在进一步了解之前花一些时间学习我们有关该主题的教程和视频课程。
- WordPress 主题定制器指南
- WordPress 主题定制器
- 编写可供定制器使用的 WordPress 主题
设置和控件
首先,我们将检查定制器中为本教程添加的“设置”和“控件”。我们还将研究将它们放在适当位置的代码。
在本教程中,我们将重点关注网站“网站标题”。正如您在上面看到的,我们有两个控件:本机 WordPress“站点标题”输入字段和用于启用或禁用“站点标题”的自定义复选框。这两个控件位于“站点标识”部分。图像的右侧是预览,您可以在其中看到正在渲染的“网站标题”。
此外,正如您在下面看到的,我们还有两个位于“颜色”部分的控件,用于更改“网站标题”颜色及其 hover
状态颜色。
底层代码
我们的主题基于下划线,其中所有与定制器相关的代码都放置在 /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
。同样,我们还将优先级设置为11
,使其出现在header_textcolor
设置下方。
所有这些设置均通过 postMessage
设置,而不是通过 refresh
设置。 postMessage
选项允许异步传输值并实时显示在预览窗口中。但是,我们还必须编写自己的 JavaScript 来处理更改。
加载 JavaScript
我们需要创建两个 JavaScript 文件:一个文件 customizer-preview.js
用于处理预览,另一个文件 customizer-control.js
用于处理定制器面板内的控件。
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
事件中将此代码包装在此文件中。这将确保在我们开始执行任何自定义功能之前,自定义程序中的所有内容都已完全准备好,包括设置、面板和控件。
最后,添加代码后,我们将在两个不同的位置加载这两个 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 方面进行了大量投资。因此,支持该生态系统的大多数开发人员对 PHP API 比 JavaScript API 更加熟练和熟悉也就不足为奇了。
直到最近,它才通过定制器和 WP-API 广泛集成了 JavaScript。掌握 WordPress 定制器中的 JavaScript API 可能是一个相当大的挑战。如前所述,WordPress 的这一面目前记录最少。因此,我们将彻底讨论这个主题。
同时,如果您正在寻找其他实用程序来帮助您构建不断增长的 WordPress 工具集,或者学习代码并更加精通 WordPress,请不要忘记查看我们提供的内容可在 Envato 市场购买。
在此,我们已准备好使用 WordPress JavaScript API 的所有基本元素。我们就到此结束。在本系列的下一部分中,我们将揭示 WordPress 中 JavaScript API 背后的更多内容,并开始编写可立即在主题中实现的功能脚本。
敬请期待!
以上是WordPress 定制器中的 JavaScript API 入门的详细内容。更多信息请关注PHP中文网其他相关文章!

是的,wordpressisisexcellentforcortingaportfoliowebsite.1)itoffersnumeroversnumeroverportfolio-spificthemeslike'astra'astra'astra'astra'astra'astra'astra'astra'astra'elementor'Enelementor'enableIntiviveSiveSign,Thoughtemanycanslowthesite.3)

WordPressisadvantageousovercodingawebsitefromscratchdueto:1)easeofuseandfasterdevelopment,2)flexibilityandscalability,3)strongcommunitysupport,4)built-inSEOandmarketingtools,5)cost-effectiveness,and6)regularsecurityupdates.Thesefeaturesallowforquicke

WordPressIsAcmsDuetoItseAsofuse,自定义,USERMANAMECTION,SEO和COMMUNITYSUPPORT.1)ITSIMPLIFIESCONTENTMANGAMEWITHANINTUISIDERFEEFFECE.2)提供extentensiveCustomizationThroughThroughTheMesandPlugins.3)supportrobustuserrolesandplugins.4)supportrobustuserrolesandpermissions.4)增强

在 WordPress 网站上启用评论功能,可以为访客提供参与讨论和分享反馈的平台。为此,请按照以下步骤操作:启用评论:在仪表盘中,导航至“设置”>“讨论”,并选中“允许评论”复选框。创建评论表单:在编辑器中,单击“添加块”并搜索“评论”块,将其添加到内容中。自定义评论表单:通过设置标题、标签、占位符和按钮文本来定制评论块。保存更改:单击“更新”以保存评论框并将其添加到页面或文章中。

如何复制 WordPress 子站?步骤:在主站创建子站。在主站克隆子站。将克隆导入目标位置。更新域名(可选)。分开插件和主题。

在WordPress中创建自定义页头的步骤如下:编辑主题文件“header.php”。添加您的网站名称和描述。创建导航菜单。添加搜索栏。保存更改并查看您的自定义页头。

WordPress 网站中启用评论功能:1. 登录管理面板,转到 "设置"-"讨论",勾选 "允许评论";2. 选择显示评论的位置;3. 自定义评论表单;4. 管理评论,批准、拒绝或删除;5. 使用 <?php comments_template(); ?> 标签显示评论;6. 启用嵌套评论;7. 调整评论外形;8. 使用插件和验证码防止垃圾评论;9. 鼓励用户使用 Gravatar 头像;10. 创建评论指

可以通过 WordPress 安装 FTP 插件,配置 FTP 连接,然后使用文件管理器上传源码。步骤包括:安装 FTP 插件、配置连接、浏览上传位置、上传文件、检查上传成功。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

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

WebStorm Mac版
好用的JavaScript开发工具