常见问题

以下是古腾堡发展的最后几年提出的一系列问题。如果您有任何问题想回答并包括在这里,只需打开GitHub问题你的问题。我们希望有机会回答并澄清我们可能没有想过要回答的问题。有关历史回顾,请参阅马特2018年11月的帖子WordPress 5.0:古腾堡常见问题解答.

古腾堡项目

古腾堡是什么?

“Gutenberg”是为WordPress创建新编辑体验的项目名称,贡献者自2017年1月以来一直在致力于此,这是WordPres多年来最重要的变化之一。它基于使用“块”来编写和设计帖子和页面的想法。这将成为WordPress未来改进的基础,包括块,它不仅是设计帖子和页面的一种方式,也是设计整个站点的一种方法。总体目标是简化WordPress的首次用户体验,适用于那些正在编写、编辑、发布和设计网页的用户。编辑体验旨在为用户提供一个更好的视觉表现,即当他们点击发布时,他们的文章或页面会是什么样子。最初,这是开球目标:

编辑将努力创建一个新的页面和帖子构建体验,使撰写丰富的帖子变得轻松,并有“块”使今天可能需要的短代码、自定义HTML或“神秘肉”嵌入发现变得容易。

关键要点包括以下几点:

  • 撰写布局丰富的帖子是WordPress的一大优势。
  • 通过将块作为一种交互范式,我们可以将多个不同的接口统一为一个。与其学习如何编写短代码和自定义HTML,或者将URL粘贴到嵌入媒体,不如使用一个通用、可靠的流程来插入任何类型的内容。
  • “神秘肉”指的是软件中隐藏的特性,即您必须发现的特性。WordPress已经支持大量的块和30+嵌入,所以让我们将它们呈现出来。

古腾堡是在github在WordPress组织下。块编辑器从5.0开始就在核心WordPress中可用。如果您想测试Gutenberg项目即将推出的功能在插件库中可用.

路线图中的长期内容是什么?

古腾堡有四个阶段,你可以在WordPress官方路线图。在撰写本文时,我们目前处于第二阶段:

  1. 更容易编辑-WordPress自5.0版以来就已经提供了,并进行了不断的改进。
  2. 自定义-全网站编辑,块模式,块目录,基于块的主题。
  3. 协作—一种更直观的内容合著方式
  4. 多语言-多语言网站的核心实现

古腾堡是什么时候开始的?

2017年初,编辑开始关注原型设计、规划、原型制作和测试的前三个月,以帮助我们了解如何处理该项目。第一个插件于2017年6月在WordCamp Europe发布。

古腾堡是什么时候并入WordPress的?

古腾堡最初合并为WordPress 5.0(文字出版社5.0)2018年12月。请参见WordPress页面中的版本获取合并到WordPress核心版本中的古腾堡插件版本的完整列表。

在WordPress的日常使用中,编辑器是大多数动作发生的地方,在这里我们可以在一个封闭的环境中完善块体验。此外,作为一个开源项目,我们认为WordPress必须继续创新,不断努力,让所有用户都能直观地享受核心体验。作为一个社区项目,古腾堡有潜力做到这一点,我们很高兴能够共同追求这一目标。如果您想测试、贡献或提供反馈,我们欢迎您分享你在GitHub上的发现.

编辑体验

什么是“块”,我们为什么要使用它们?

经典的WordPress编辑器是一个开放的文本窗口——它一直是一个很棒的写作空白画布,但当使用图像、多媒体、来自社交媒体的嵌入式内容、民意调查和其他元素构建帖子和页面时,它需要混合不同的方法,这些方法并不总是直观的:

  • 用于图像、多媒体和批准文件的媒体库/HTML。
  • 粘贴的嵌入链接。
  • 插件专用资产的缩写。
  • 文章或页面顶部图像的特色图像。
  • 副标题摘录。
  • 页面侧面内容的小部件。

当我们考虑到这些用法以及如何使其明显和一致时,我们开始接受“块”的概念。上述所有项目都可以是块:易于搜索和理解,并且易于在页面上动态切换。区块概念非常强大,经过深思熟虑的设计,可以提供出色的编辑和出版体验。最终,块的想法是在WordPress上创建一种新的通用语言,一种将用户连接到插件的新方法,并替换一些旧的内容类型,比如短代码和小部件,人们通常必须精通WordPres的特性才能理解这些内容类型。

写作经历是什么样的?

我们与古腾堡合作的目标不仅仅是创造一种无缝的后期和页面构建体验。我们还希望确保它提供无缝的写作体验。为了亲自测试,直接看这个演示并试一试!

古腾堡是建在TinyMCE之上的吗?

不。微型微型计算机仅用于“经典”块。

古腾堡有键盘快捷键吗?

对。有很多!有一个显示所有可用键盘快捷方式的帮助模式。

您可以看到整个列表转到新编辑器的右上角菜单,然后单击“键盘快捷键”(或使用键盘快捷键班次+中高音+H(H)在Linux/Windows和H(H)在macOS上)。

下面是一个简短的动画,演示如何查找和使用键盘快捷键:

GIF显示如何访问键盘快捷键

古腾堡支持立柱吗?

是的,古腾堡有一个列块。

古腾堡支持嵌套块吗?

是的,它受支持。您可以有多个层次的嵌套–块内块内块。请参阅嵌套块教程了解更多信息。

拖放对重新排列块有效吗?

是的,您可以拖放块以重新排列其顺序。

发展经验

我如何制作自己的积木?

最好的起点是创建块教程.

古腾堡是否在前端编辑帖子/页面?

不,我们设计古腾堡主要是为了取代帖子和页面编辑屏幕。也就是说,前端编辑经常与看起来与前端完全相似的编辑器混淆。这是古腾堡允许主题定制单个块并向编辑器提供这些样式的东西。由于内容的设计是为了跨越如此多的不同体验(从桌面和手机到全文提要和联合文章平台)进行分发,我们认为仅从一个前端体验创建或设计帖子并不理想。

鉴于古腾堡是用JavaScript构建的,旧的元框(PHP)是如何工作的?

请参阅Meta Box教程有关在新块编辑器中使用元框的详细信息。

插件如何扩展Gutenberg UI?

我们要强调的主要扩展点是创建新块。使用插件将块添加到块编辑器中,请参见构建第一个块教程开始吧。

是否仍支持自定义帖子类型?

的确。自定义帖子类型可以通过多种方式利用Gutenberg。计划是允许他们指定支持的块,以及为帖子类型定义默认块。目前情况并非如此,但如果帖子类型禁用了内容字段,则底部的“高级”部分将填充页面。

样式

主题可以设置块样式吗?

对。块可以提供自己的样式,主题可以添加或覆盖这些样式,也可以根本不提供样式,完全依赖于主题提供的内容。

块样式如何在前端和后端工作?

块能够提供基本的结构CSS样式,并且主题可以在此基础上添加样式。一些块,如分隔符(<小时/>),可能不需要任何前端样式,而其他样式(如Gallery)则需要一些。

其他功能,如新功能宽的全宽对齐选项只是应用于提供这种对齐的块的CSS类。我们正在研究主题如何选择此功能,例如使用添加主题支持.

这项工作目前正在进行中,我们建议审查基于块的主题文档了解更多信息。

什么是块变化?它们与块样式相同吗?

不,块变化是单个基本块的不同版本,共享相似的功能,但在实现或设置(属性、InnerBlock等)上略有不同。块变化对用户来说是透明的,一旦有注册的块变化,它就会显示为一个新块。例如嵌入块注册不同的块变体,以嵌入来自特定提供商的内容。

同时,块样式允许您为现有块提供替代样式,它们通过添加类名到块的包装上。一旦块注册了块样式,块样式选择器将出现在其侧栏中,以便用户可以在不同的注册样式中进行选择。

编辑器样式是如何工作的?

常规编辑器样式是opt-in,在大多数情况下都是这样工作的。主题还可以使用以下挂钩加载额外的样式表:

函数gutenbergtheme_editor_styles(){wp_enqueue_style('gutenbergtheme-blocks-style',get_template_directory_uri()。'/块.css’);}add_action('enqueue_block_editor_assets','gutenbergtheme_editor_styles');

请参见: 编辑器样式

兼容性

古腾堡支持哪些浏览器?

古腾堡在现代浏览器中工作。

这个支持的浏览器列表可以在Make WordPress手册中找到。术语“现代浏览器”通常指当前和前两个版本每个主要浏览器的。

自从WordPress 5.8以来,古腾堡不再支持任何版本的Internet Explorer。

我应该担心古腾堡会让我的插件过时吗?

古腾堡的目标是不让任何人破产。这是为了发展WordPress,以便在未来为每个人提供更多的业务。

除了实现丰富的帖子和页面构建体验外,元目标是向前移动WordPress作为一个平台。不仅通过现代化UI,还通过现代化基础。

我们意识到这是一个巨大的变化。我们还认为插件将有许多新的机会。WordPress可能会提供一系列基本块,但将有足够的空间用于高度定制的高级插件,以增加现有块或添加新块。

我的网站可以不使用古腾堡吗?

有一个“经典”块,除了块形式外,它实际上与当前编辑器相同。

还有经典编辑器插件这将恢复以前的编辑器,有关更多信息,请参阅插件。WordPress核心团队致力于支持经典编辑器插件至2021年12月.

自定义TinyMCE按钮在古腾堡如何工作?

自定义TinyMCE按钮在“Classic”块中仍然有效,这是您今天所知道的经典编辑器的块版本。

Gutenberg提供了一个新的通用插入器工具,它可以让你访问每个可用的块,可以搜索,并按最近性和类别排序。这个插入器工具为每个向编辑器添加内容的插件提供了公平的竞争环境,并提供了一个学习如何使用的单一界面。

古腾堡的短代码是如何工作的?

短代码继续像现在一样工作。

然而,我们认为该区块是[短代码]。无需键入代码,您可以使用通用插入器托盘选择块,并获得更丰富的界面来配置块和预览块。我们建议人们最终将其短代码升级为块。

我应该将快捷代码移动到内容块吗?

我们这么认为有多种原因,包括但不限于:

  • 块具有内置的可视化编辑功能,可以为构建站点创建更丰富、更动态的体验。
  • 块只不过是html,不会保存浏览器在前端无法理解的内容。相比之下,如果禁用支持短代码的插件,前端就会出现奇怪的视觉效果(通常只是以纯文本形式显示短代码)。
  • 随着块目录的启动,块将更容易被发现,而快捷代码永远不可能让更多的人获得更多的功能。

最终,块被设计成最终外观的视觉代表,随着5.5中块目录的推出,它们将成为用户在WordPress中发现和插入内容的预期方式。

其他

古腾堡是为了便于接近吗?

可访问性不是事后才考虑的。目前并非古腾堡的每一个方面都可以访问。您可以检查记录的问题在这里。我们理解WordPress适合每个人,而易访问性就是包容。这是我们的关键价值。

如果你想为古腾堡的可访问性做出贡献,我们总是可以让更多的人来测试和贡献。

数据是如何存储的?我看到了HTML注释。他们的目的是什么?

我们的方法概述于技术概述简介-是以一种不会破坏WordPress提供的十五年半内容结构的方式来扩充现有的数据格式。换言之,这优化了一种格式,它优先考虑了人类可读性(web的HTML文档)和随时随地的易渲染性,而不是机器方便的文件(postmeta中的JSON),后者主要有利于编辑上下文。

这也是给了我们灵活性将那些与内容流本质上分离的块(可重用的块,如小部件或小帖子类型元素)存储在其他地方,并只保留标记引用以供放置。

我们建议您查看古腾堡关键概念以进一步了解项目的这一方面是如何工作的。

如何在PHP或JS中将帖子内容解析回块?

在JS中:

var blocks=wp.blocks.parse(postContent);

在PHP中:

$blocks=parse_blocks($post_content);