@文字新闻/私人广告

@文字新闻/私人广告启用私有共享__实验性的跨API@文字出版社没有的程序包
向WordPress扩展器公开它们.

入门

@文字出版社想要私下访问或公开实验API的包必须选择@文字新闻/私人广告:

//在packages/block-editor/private-apis.js中:从“@wordpress/private-apis”导入{__dangerousOptInToUnstableAPIsOnlyForCoreModules};导出常量{锁定,解锁}=__危险的OptInTo不稳定AP仅适用于核心模块(“我承认私有功能不适用于主题或插件,这样做会在下一版本的WordPress中中断。”,“@wordpress/block-editor”//调用__dangerousOptInToUnstableAPIsOnlyForCoreModules的包的名称,//(不是要访问其API的包的名称));

每个套餐只能选择一次。函数名表示插件不应该使用它。

如果不满足以下条件,函数将抛出错误:

  1. 第一个参数必须与所需的同意字符串完全匹配:“我承认私有功能不适用于主题或插件,这样做会在下一版本的WordPress中中断。”.
  2. 第二个参数必须是已知参数@文字出版社尚未加入的程序包@文字新闻/私人广告

完成opt-in后,将获得锁定()解锁()实用程序启用隐藏__实验性的肉眼API:

//假设此对象是从包中导出的:导出const publicObject={};//但是,此字符串是内部字符串,不应公开:const __terialString=“__terial信息”;//解决方案:锁定对象的“内部”字符串:锁(publicObject,__terialString);//字符串未嵌套在对象中,无法从中提取:console.log(publicObject);// {}//访问字符串的唯一方法是“解锁”对象:console.log(解锁(publicObject));//“____实验信息”//lock()接受所有数据类型,而不仅仅是字符串:导出constantanotherObject={};lock(另一个对象,函数__terialFn(){});console.log(解锁(另一个对象));//函数__experialFn(){}

使用锁定()解锁()私下分发__实验性的跨API@文字出版社包装:

//在packages/package1/index.js中:从'导入{lock}/锁定-解锁';导出const privateApis={};/*将私有数据附加到导出的对象*/锁(私人Apis{__实验函数:函数(){},} );//在packages/package2/index.js中:从“@wordpress/package1”导入{privateApis};从'导入{unlock}/锁定-解锁';const{__terialFunction}=解锁(私有Apis);

装运实验API

请参阅编码指南的实验性和不稳定API章节学习如何锁定()解锁()可以提供帮助
您可以提供私有的实验函数、参数、组件、属性、操作和选择器。

技术限制

一个决心要不惜一切代价使用私有实验API的开发人员必须:

  • 实现私有导入系统的存在
  • 阅读用大写字母表示风险的代码
  • 明确键入他或她知道后果
  • 假装注册@文字出版社包(并在加载真正的包后立即触发错误)

不建议主题和插件开发人员危险地选择使用这些API。此外,WordPress核心理念是努力为第三方开发人员保持向后兼容性不适用到通过此包注册的实验API。

选择这些API的同意字符串可能随时更改,恕不另行通知。此更改将破坏现有的第三方代码。这种更改可能发生在主要版本或次要版本中。

参与此包

这是古腾堡项目的一部分。该项目组织为单回购。它由多个独立的软件包组成,每个包都有特定的用途。此monorepo中的包发布到净现值法并由使用WordPress(文字出版社)以及其他软件项目。

要了解更多关于对这个包或古腾堡整体贡献的信息,请阅读该项目的主要内容投稿人指南.

代码就是诗歌。

用于解锁私有API的同意字符串旨在定期更改。要更新同意字符串,请执行以下操作:

  1. 提出一个新的同意字符串,该字符串应该提到选择不稳定和私有功能的主题或插件在WordPress的未来版本中会中断。
  2. 确保之前未使用同意字符串。
  3. 将新字符串追加到下面的历史列表中。
  4. 替换以下位置的同意字符串:
    • 在上述文档中出现两次
    • 在中src/implementation.js此包的文件
    • 在中src/lock-unlock.js位于使用私有API的包中的文件
    • 在完整的代码库中搜索任何其他事件

注释:同意字符串不用于面向用户的内容,因此应该可以通过WordPress的国际化功能进行翻译。

更新同意字符串被认为是一项任务,可以在WordPress发布的后期完成。

同意字符串历史

此列表中的最后一个字符串是当前版本。

  1. 我知道使用不稳定的功能意味着我的插件或主题将不可避免地在下一个WordPress版本中崩溃。
  2. 我知道使用不稳定的功能意味着我的主题或插件将不可避免地在WordPress的下一个版本中中断。
  3. 我承认私有功能不适用于主题或插件,这样做会在下一版本的WordPress中中断。