合并公告:交互API

查看启动柱,的状态更新帖子、和Trac票用于互动美国石油学会美国石油学会 API或应用程序编程接口是一种软件中介,允许程序相互交互并以有限的、明确定义的方式共享数据。.

目的和目标

目前,插件插件 插件是一个包含一组功能的软件,可以添加到WordPress网站。他们可以扩展功能或为WordPress网站添加新功能。WordPress插件是用PHP编程语言编写的,并与WordPres无缝集成。这些可以在WordPress.org插件目录中免费https://wordpress.org/插件/或者可以是来自第三方的基于成本的插件作者实现他们选择的JavaScript脚本JavaScript脚本 JavaScript或JS是一种面向对象的计算机编程语言,常用于在web浏览器中创建交互效果。WordPress广泛使用JS以获得更好的用户体验。当PHP在服务器上执行时,JS在用户浏览器中执行。https://www.javascript.com/.框架(或普通框架JS公司JS公司 JavaScript是一种通常在浏览器中执行的web脚本语言。通常用于高级用户界面和行为。)以增强WordPress网站上的用户体验。在WordPress中开发前端JavaScript没有一致性或标准化的模式。

Interactivity API为开发人员提供了一种标准的方式,可以将交互添加到其块的前端。

API的设计和创建符合以下要求:

  • 块是一个抽象术语,用于描述使用WordPress编辑器组合在一起形成网页内容或布局的标记单元。这个想法结合了过去可能通过短代码、自定义HTML实现的概念,并将发现嵌入到单一一致的API和用户体验中。-第一个和菲律宾比索菲律宾比索 WordPress主要使用的web脚本语言。WordPress需要PHP 5.6.20或更高版本-首先。对构建站点和服务器端渲染的块进行优先级排序,以获得更好的SEO和性能。结合用户和开发人员的最佳体验。
  • 向后兼容。确保与经典主题和块主题以及可选的其他JavaScript框架兼容,尽管建议使用API作为主要方法。它也适用于挂钩挂钩 在WordPress主题和开发中,钩子是可以应用于WordPres中的动作或过滤器的函数。动作是WordPress中发生特定事件时执行的功能。过滤器允许您修改某些功能。用于挂钩筛选器和操作的参数看起来相同。以及国际化。
  • 声明性和反应性。利用声明性代码来定义交互,监听数据中的更改,并相应地只更新DOM的相关部分。
  • 表演者:优化运行时性能以提供快速轻量级的用户体验。
  • 发送更少的JavaScript。通过提供块可以重用的通用框架,减少页面上发送的JS的总量。因此,这些块利用Interactivity API的次数越多,整体发送的JS就越少。

世界现状世界现状 这是美国WordCamp WordPress的创始人马特·穆伦韦(Matt Mullenweg)发布的年度报告。它着眼于我们所做的事情、我们正在做的事情以及WordPres的未来。https://wordpress.tv/tag/state-of-the-word网址/..

现场网站演示

如果您想了解更多有关目标的信息,可以参考初步提案。

项目背景

该项目以实验插件2022年初。然后,第一个API版本于古腾堡16.2并不断完善,直至古腾堡17.7.

在WordPress 6.4中,图像、搜索、文件、导航和查询核心核心 核心是运行WordPress所需的一组软件。核心开发团队构建WordPress。使用Interactivity API的私有版本重构块可达性无障碍 无障碍性(通常简称为a11y)是指为残疾人设计产品、设备、服务或环境。无障碍设计的概念确保了“直接访问”(即无人协助)和“间接访问”,即与个人的辅助技术(例如计算机屏幕阅读器)兼容。(https://en.wikipedia.org/wiki/Accessibility网站)问题和添加长期预期灯箱(或“单击时展开”)功能。

开发工作已于年完成古腾堡古腾堡 古腾堡项目是WordPress的新编辑器界面。编辑器改进了创建新内容的过程和体验,使编写丰富内容变得更加简单。它使用“块”来增加丰富性,而不是短代码、自定义HTML等。https://wordpress.org/gutenberg网站/,使用跟踪问题监控进度和讨论类别向协助测试的开发人员征求反馈意见并提供指导。

实施详细信息

Interactivity API是一个基于声明性代码的标准指令系统,用于向块添加前端交互性。

指令很特别HTML格式HTML格式 超文本标记语言。主要用于在web浏览器中输出内容的语义脚本语言。属性,告诉Interactivity API将指定的交互附加到DOM元素或对其进行转换,类似于HTMX公司AlpineJS公司使用HTML作为模板语言使API能够理解服务器(PHP)和客户端(JS)中的指令。

作为该项目的一部分,所有交互脚本现在都是利用新的脚本模块实现的在WordPress 6.5中发货。只有在至少存在一个交互块的情况下,所有这些脚本才会加载到前端,以避免向前端发送不必要的JavaScript。

这里是一个交互式块的例子,其中一个JavaScript文件负责增加或减少计数器,一个PHP文件负责计数器初始化和渲染。

//JS文件-viewScriptModule.JS从“@wordpress/interactivity”导入{store};const{state}=存储(“my-counter-block”{操作:{增加计数器:()=>{state.counter=状态计数器+1;},递减计数器:()=>{state.counter=状态计数器-1;},},});
//PHP文件-render.PHPwp_interactivity_state('my-counter-block',数组(“计数器”=>0,))?><迪夫<?php echo get_block_wrapper_attributes();?>data wp interactive=“创建块”><button data-wp-on--click=“actions.increaseCounter”><?php esc_html_e(“增加”,“my-first-interactive-block”);?></按钮><p data-wp-text=“state.counter”></p><button data-wp-on--click=“actions.decreaseCounter”><?php esc_html_e(“减少”,“my-first-interactive-block”);?></按钮></div>

这将导致出现这样的块:

对于希望开始的开发人员,有一个可用的入门指南,并计划在不久的将来将其转换为手册。

此外,详细的开发说明开发说明 WordPress Core中的每个重要更改都记录在开发人员备注中(通常称为开发备注)。好的开发注释通常包括对更改的描述、导致此更改的决策,以及对开发人员应该如何处理此更改的描述。在WordPress发布周期的测试阶段,开发人员的笔记会发布在Make/Core博客上。当插件/主题作者和WordPress开发人员需要了解这些更改时,发布开发注释尤其重要。通常,所有开发注释都在候选发布阶段开始时编译到Field Guide中。将发布,进一步深入了解API的使用及其内部工作原理。

模块和导入映射。

Interactivity API支持模块和导入映射。

JavaScript模块改变了开发人员编写和组织JavaScript代码的方式。它们提供了一个更干净、更模块化的体系结构,使代码更易于跨项目维护、测试和重用。

通过添加对注册和排队JavaScript模块的本地支持,WordPress可以使用高效、有效和经过测试的方法来处理JavaScript库及其依赖项,从而跟上web开发的步伐。

将会有另一个关于JavaScript模块的开发说明和使用指南。

Javascript模块指南。

贡献和反馈。

Interactivity API旨在成为一个长期项目,并在未来进行增强;欢迎反馈。最好的联系方式是通过GitHub讨论.

还欢迎提供代码和文档古腾堡储存库是去的地方。

贡献的一些例子可能是:

  • 测试Interactivity API,创建您自己的交互,并分享您喜欢和不喜欢的反馈。
  • 建议API中包含的新功能。
  • 帮助创建教程或分享能够激励他人的演示。

传播信息

在项目中使用Interactivity API的开发人员越多,WordPress生态系统的一致性就越高,发送给世界的JavaScript就越少!

请随时在社交媒体和活动中与您的同事、朋友和每个人传播互动API!

道具到@卡林曼,@吉奥罗牌手表,@瑞士风格,@威斯顿鲁特,@桑托斯吉尔拉莫特,@路易希兰兹、和@马蒂内兹杜克供同行审查。

#6-5,#功能插件,#特色项目,#交互性api,#合并利润