WordPress Widgets 与 Blocks 的区别:一篇搞懂
在多年的 WordPress 功能测试中,我们见证了平台从传统 Widgets 到全新 Block 系统的演变。虽然两者都能帮助你自定义网站,但它们的工作方式截然不同,用途也各有侧重。
在猫哥,我们深知理解 Widgets 和 Blocks 的区别可能有些挑战。然而,知道何时使用哪一种,能让你更高效地管理 WordPress 网站。
本指南将帮你理清 WordPress Widgets 与 Blocks 的混淆之处。我们会基于帮助成千上万的用户构建和自定义 WordPress 网站的真实经验,分享实际案例说明何时使用它们。

快速回答:Widgets vs. Blocks
赶时间?以下是关键区别:
- WordPress Blocks 是全新的现代化构建方式。它们是灵活的组件,用于创建文章、页面甚至整个网站布局,并具有精确的控制能力。
- WordPress Widgets 是旧的方式,用于向主题中的固定位置(如侧边栏或页脚)添加内容。它们的位置和设计选项非常有限。
文章概要
- 什么是 WordPress Widgets?
- 什么是 WordPress Blocks?
- Widgets 与 Blocks 的区别
- 基于块的 Widget 编辑器
- WordPress Widgets 的未来
- Blocks vs. Widgets:哪个更好?
- 常见问题解答
什么是 WordPress Widgets?
WordPress Widgets 是动态内容元素,可以添加到侧边栏等 Widget 区域。Widgets 在 WordPress 2.2(2007年5月)引入,目的是为用户提供一种简单的方法,将可自定义的元素添加到网站,而无需在每篇博客文章末尾重复插入相同内容。
例如,用户不必编辑主题文件手动添加 Google AdSense 跟踪代码,而是可以直接使用 Widgets 插入内容或功能,这些内容不必属于整体主题文件或博客文章。Widgets 让用户更容易创建理想的 WordPress 博客,轻松添加横幅广告或电子邮件注册表单。
渐渐地,几乎所有 WordPress 主题都通过在设计布局中添加 Widget 区域来适配 Widgets,最常见的是侧边栏和页脚。
在 WordPress 5.8(2021年发布)之前,WordPress Widget 编辑器是这样的:

什么是 WordPress Blocks?
WordPress Block 是内容的独立片段,例如段落、图片、标题或视频,你可以在编辑器中添加它们。可以把 Blocks 想象成构建文章、页面甚至整个网站布局的单个积木。它也被称为 Gutenberg 编辑器(这是其开发代号)。
Blocks 与 Widgets 非常相似,因为每个都处理页面或文章的一个元素。但与 Widgets 不同的是,Blocks 最初仅作为文章和页面编辑器的一部分引入,因此不能轻易添加到网站页脚或侧边栏等区域。你可以将 Block 插入到文章或页面中的任何元素,包括段落、图片、图库、插件特定功能(如电子邮件注册)或视频嵌入。

还有用于添加设计布局元素的 Blocks,如封面、图案、表格、列、组等。要了解更多,请查看我们的完整 WordPress 块编辑器教程,了解如何使用默认编辑器创建漂亮的布局。
WordPress Widgets 与 Blocks 的区别
主要区别在于范围和灵活性。Blocks 是现代的多功能组件,用于在编辑器内和整个网站构建所有内容,提供精确的控制和设计选项。Widgets 是较旧的工具,主要用于向主题定义的固定区域(如侧边栏和页脚)添加特定内容,自定义能力有限。
以下是关键差异的详细对比:
| 特性 | Widgets(旧方式) | Blocks(新方式) |
|---|---|---|
| 主要用途 | 将特定内容(如日历或搜索栏)添加到预定义区域 | 构建所有内容,从简单段落到完整页面和网站布局 |
| 位置 | 限于主题特定的“Widget 区域”,如侧边栏和页脚 | 可用于任何地方:文章、页面、页眉、页脚和 Widget 区域 |
| 编辑器 | 通过经典的外观 » Widgets 界面管理 | 现代块编辑器和全站编辑器的核心组件 |
| 灵活性 | 自定义选项有限,通常由主题控制 | 高度灵活,可单独控制颜色、大小、间距等 |
基于块的 Widget 编辑器
WordPress 计划将块编辑器适配到网站的所有区域,包括 Widget 区域。为此,WordPress 5.8 引入了基于块的 Widget 编辑器。现在用户可以在主题的 Widget 区域中使用 Blocks。

Widgets 仍然位于外观 » Widgets 菜单下。但如果你使用的是没有定义 Widget 区域的块主题,则可能看不到该菜单,而会看到外观 » 编辑器菜单。

许多旧的 WordPress Widgets 已经有功能相同的 Blocks。你可以点击添加新块按钮(+)找到许多分类为“Widgets”的 Blocks。

这些仍然是 Blocks,但被归类为 Widgets,以便用户理解它们的行为类似于旧 Widgets。如果用户仍然需要使用没有替代 Block 的旧 Widget,则可以通过使用旧版 Widget 块来实现。

如果 WordPress 插件有一个用于文章和页面的 Block,现在你也可以在 Widget 区域中使用相同的 Block。主题开发者也可以创建自定义 Blocks,用户可以将它们添加到网站的不同区域。
WordPress Widgets 的未来
WordPress 正在向统一的编辑体验迈进,使用 Blocks 跨文章、页面、Widgets 和全站编辑。这意味着基于块的 Widgets 正在成为现代 WordPress 主题和插件的标准。许多开发者已经在更新他们的产品以支持块编辑器和全站编辑功能。
然而,经典 Widgets 仍然广泛使用。许多旧主题和插件继续依赖传统 Widgets 和短代码,尤其是在长期运行的 WordPress 网站上。为了帮助过渡,WordPress 仍然包含兼容性功能,如旧版 Widget 块,允许旧 Widgets 在新编辑器中继续工作。
如何禁用块 Widgets
如果你仍然更喜欢旧版 Widget 体验,可以禁用块 Widgets 并恢复经典 Widget 界面。最简单的方法是使用免费的 WPCode 插件,它允许你无需编辑网站文件即可自定义 WordPress。它还包含一个现成的代码片段用于禁用块 Widgets。WPCode 被超过 300 万个网站信任,在 WordPress.org 上拥有 4.9/5 星评级(来自 2000+ 评论)。

或者,你也可以使用 Classic Widgets 插件,该插件在超过 500 万个网站上处于激活状态。激活后,该插件将用旧版 Widget 页面替换基于块的 Widget 编辑器。不过,WordPress 此前宣布对 Classic Widgets 插件的支持计划到 2024 年。虽然该插件仍可工作,但许多用户更喜欢像 WPCode 这样的解决方案,因为它们得到积极维护,并提供更灵活的长远方案。你也可以使用内置的旧版 Widget 块在新编辑器中继续使用旧 Widgets。
Blocks vs. Widgets:哪个更好?
对于几乎所有用户来说,Blocks 更好。我们建议你尽快开始使用新的基于块的系统,因为这是 WordPress 的发展方向。块编辑器因其直观的拖放界面而更容易使用,更现代,而且比经典的 Widgets 界面灵活得多。它允许对单个元素(如颜色、大小和间距)进行精确控制,并让你更好地预览内容在前端的外观。
例如,如果你想在博客文章中插入一个号召性用语按钮,Block 是理想的选择。如果你要构建整个自定义页面布局,Blocks 提供了你需要的精确控制。对于简单的静态内容,如页脚中的版权声明,旧版 Widget 在经典主题中仍然足够。但即使是这些,在现代主题中也越来越多地被块图案或专用 Blocks 所取代。
如果你的 WordPress 插件或主题尚不支持基于块的 Widgets,你可以联系开发者,要求他们将 Widgets 转换为 Blocks。如果他们不打算发布更新,通常可以找到替代的插件或主题。
常见问题:WordPress Widgets 和 Blocks
如果我切换主题或更新 WordPress,旧 Widgets 会怎样?
你现有的 Widgets 会出现在新主题的 Widget 区域中(假设这些区域存在)。如果你切换到一个没有相同 Widget 区域的主题,WordPress 不会删除你的 Widgets,而是将它们移动到“未使用的 Widgets”部分(外观 » Widgets)。这样你的内容就安全了,之后可以将其移动到新的 Widget 区域。
我还能在较新版本的 WordPress 中使用 Widgets 吗?
可以,但它们现在出现在基于块的 Widgets 界面中。如果你使用的是 WordPress 5.8 或更高版本,默认情况下 Widgets 使用 Blocks 处理,但你可以安装插件恢复经典 Widget 界面。
我需要将所有 Widgets 都切换到 Blocks 吗?
不需要,但切换到 Blocks 会给你更多的控制权和灵活性。你可以更轻松地设置样式和预览内容,许多主题和插件现在对基于块的布局提供了更好的支持。
我们希望这篇文章能帮助你理解 WordPress Widgets 和 Blocks 的区别。你可能还想查看我们精选的最佳 WordPress 块插件,或者了解块编辑器与页面构建器的区别。
