WordPress开发笔记

WordPress区块类型列表,及区块名称列表的获取方法

在 WordPress 中,区块(Block)是古腾堡编辑器(Gutenberg)的核心组成部分。了解熟知区块类型及其名称对于功能开发、提升网站性能和优化有极大帮助,并且在许多WordPress功能开发中经常用到。

区块类型及名称列表

该WordPress区块类型及名称列表是通过在WordPress 6.8.3版本中精准获取名称后,再结合AI整理而来。该表整理了关于区块的名称(英文标识符)、中文名称、归类(基于功能类别,如文本、媒体、设计、导航等)和应用(描述其主要用途和场景)的信息已帮助快速查找、识别、理解和应用。注意下表格的名称列中“core/”后面的就是WordPress核心区块名称。详情如下:

名称中文名称归类应用
core/paragraph段落文本用于添加和格式化文本段落,支持基本样式和链接。
core/image图像媒体用于插入和显示图像,支持调整大小、对齐和添加标题。
core/heading标题文本用于添加标题,支持不同级别(H1-H6),常用于文章结构。
core/gallery画廊媒体用于创建图像画廊,显示多张图片,支持网格布局。
core/list列表文本用于创建有序或无序列表,管理项目列表。
core/list-item列表项文本列表中的单个项目,通常与列表块配合使用。
core/quote引用文本用于突出显示引用文本,通常包含引用来源。
core/archives归档小工具显示文章按月归档列表,常用于侧边栏。
core/audio音频媒体用于嵌入音频文件,支持播放控制。
core/button按钮设计用于创建可点击按钮,可自定义样式和链接。
core/buttons按钮组设计用于创建一组按钮,方便对齐和布局。
core/calendar日历小工具显示文章发布日历,基于发布日期。
core/categories分类目录小工具显示文章分类目录列表,支持层级结构。
core/code代码文本用于显示代码片段,保留原格式,适合技术文章。
core/column设计用于在列布局中创建单个列,通常与列组块配合。
core/columns列组设计用于创建多列布局,方便内容分栏。
core/cover封面媒体用于创建带有背景图像或颜色的封面区块,支持叠加文本。
core/details详情设计用于创建可折叠的详情摘要区块,隐藏额外内容。
core/embed嵌入媒体用于嵌入外部内容(如YouTube、Twitter),自动响应式适配。
core/file文件媒体用于添加文件下载链接,显示文件名和大小。
core/group设计用于将多个区块组合在一起,便于统一样式和管理。
core/html自定义HTML高级用于添加自定义HTML代码,实现特殊功能。
core/latest-comments最新评论小工具显示最新评论列表,包括作者和摘要。
core/latest-posts最新文章小工具显示最新文章列表,支持缩略图和摘要。
core/media-text媒体与文本媒体用于创建媒体(如图像)和文本并排布局。
core/missing缺失区块其他当区块无法加载时显示,提示用户修复。
core/more更多内容用于在文章中插入“更多”标签,分割摘要和全文。
core/nextpage下一页内容用于在文章中插入分页符,将内容分为多页。
core/page-list页面列表导航显示网站页面列表,自动生成层级结构。
core/page-list-item页面列表项导航页面列表中的单个项目,用于自定义导航。
core/pattern模式设计用于插入预定义的模式(区块组合),提高设计效率。
core/preformatted预格式化文本用于添加预格式化文本,保留空格和换行。
core/pullquote引文文本用于突出显示引用文本,通常有特殊样式。
core/block可重用区块高级用于插入可重用的区块,方便跨文章使用。
core/rssRSS订阅小工具用于显示RSS订阅内容,如最新文章摘要。
core/search搜索小工具用于添加搜索表单,支持实时搜索功能。
core/separator分隔符设计用于添加水平分隔线,美化内容布局。
core/shortcode短代码高级用于添加WordPress短代码,扩展功能。
core/social-link社交链接社交用于添加单个社交媒体链接,显示图标。
core/social-links社交链接组社交用于创建一组社交媒体链接,支持对齐。
core/spacer间距设计用于添加垂直或水平间距,调整布局空白。
core/table表格文本用于创建和格式化表格,支持行列操作。
core/tag-cloud标签云小工具显示标签云,根据使用频率调整大小。
core/text-columns文本列文本用于创建多列文本布局,类似报纸样式。
core/verse诗歌文本用于添加诗歌或诗句,保留格式和换行。
core/video视频媒体用于嵌入视频文件,支持本地或外部URL。
core/footnotes脚注文本用于添加脚注,自动编号和链接。
core/navigation导航菜单导航用于显示导航菜单,支持多级子菜单。
core/navigation-link导航链接导航导航菜单中的单个链接,可自定义URL和标签。
core/navigation-submenu导航子菜单导航用于创建导航子菜单,管理下拉内容。
core/site-logo网站标志主题用于显示网站标志,自动适配主题设置。
core/site-title网站标题主题用于显示网站标题,通常用于页眉。
core/site-tagline网站标语主题用于显示网站标语(描述性文本)。
core/query查询高级用于显示基于查询的文章列表,如最新文章或特定分类。
core/template-part模板部分主题用于插入模板部分(如页眉、页脚),复用布局。
core/avatar头像社交用于显示用户头像,常见于作者信息。
core/post-title文章标题文章用于显示文章标题,动态适配当前文章。
core/post-excerpt文章摘要文章用于显示文章摘要,可自定义长度。
core/post-featured-image文章特色图像文章用于显示文章的特色图像(封面图)。
core/post-content文章内容文章用于显示文章完整内容,动态加载。
core/post-author文章作者文章用于显示文章作者信息,包括头像和名称。
core/post-author-name文章作者名称文章用于显示文章作者名称,简洁版本。
core/post-date文章日期文章用于显示文章发布日期,可格式化。
core/post-terms文章术语文章用于显示文章的分类或标签等术语。
core/post-navigation-link文章导航链接导航用于显示上一篇或下一篇文章链接。
core/post-template文章模板高级用于定义文章列表的模板,控制显示方式。
core/query-pagination查询分页高级用于显示查询结果的分页导航。
core/query-pagination-next查询分页下一页高级用于显示查询结果的下一页链接。
core/query-pagination-numbers查询分页数字高级用于显示查询分页的数字链接。
core/query-pagination-previous查询分页上一页高级用于显示查询结果的上一页链接。
core/query-no-results查询无结果高级当查询无结果时显示自定义内容。
core/query-total查询总数高级用于显示查询结果的总数统计。
core/read-more阅读更多文章用于添加“阅读更多”链接,跳转到全文。
core/comments评论评论用于显示评论列表,包括所有评论。
core/comment-author-name评论作者名称评论用于显示评论作者名称。
core/comment-content评论内容评论用于显示评论内容文本。
core/comment-date评论日期评论用于显示评论发布日期。
core/comment-edit-link评论编辑链接评论用于显示评论编辑链接(管理员可见)。
core/comment-reply-link评论回复链接评论用于显示评论回复链接,方便互动。
core/comment-template评论模板评论用于定义评论的显示模板。
core/comments-title评论标题评论用于显示评论区域的标题(如“评论”)。
core/comments-pagination评论分页评论用于显示评论列表的分页导航。
core/comments-pagination-next评论分页下一页评论用于显示评论列表的下一页链接。
core/comments-pagination-numbers评论分页数字评论用于显示评论分页的数字链接。
core/comments-pagination-previous评论分页上一页评论用于显示评论列表的上一页链接。
core/post-comments-form文章评论表单评论用于显示评论提交表单。
core/home-link首页链接导航用于显示返回首页的链接。
core/loginout登录/退出小工具用于显示登录或退出链接,根据用户状态动态变化。
core/term-description术语描述主题用于显示分类或标签的描述文本。
core/query-title查询标题高级用于显示查询的标题(如分类归档标题)。
core/post-author-biography文章作者传记文章用于显示文章作者的详细传记信息。
core/freeform自由形式高级用于自由编辑内容,类似经典编辑器,支持HTML。
core/legacy-widget传统小工具小工具用于插入传统小工具(如旧版侧边栏组件)。
core/widget-group小工具组小工具用于组合多个小工具,统一管理。

区块名称列表获取方法 1:使用浏览器控制台(JavaScript)

适用于正在编辑页面或文章且已启用区块编辑器的场景。

1. 打开浏览器开发者工具(按 F12 或右键选择“检查”)。

2. 切换到 Console(控制台) 标签页。

3. 输入以下代码并执行:

wp.blocks.getBlockTypes().forEach(block => console.log(block.name));

这将输出所有已注册的区块类型名称。

注意:
– 此方法要求当前页面加载了 `wp-blocks` 脚本,通常仅在 WordPress 后台的区块编辑器中可用。
– 若控制台提示 `wp is not defined`,说明不在正确的上下文中执行。


区块名称列表获取方法 2:使用浏览器扩展工具

适用于希望可视化查看区块信息或调试区块结构的用户。

1. 安装 **React Developer Tools**(适用于 Chrome 或 Firefox):

– 可检查区块对应的 React 组件及其属性(包括区块类型名称)。

2. 安装专为 WordPress 设计的 **Gutenberg Inspector** 等扩展(如有更新版本):

– 提供更直接的区块信息查看功能。

操作建议:

在编辑器页面中打开开发者工具,使用 React Developer Tools 的“Components”面板浏览区块组件及其属性。


区块名称列表获取方法 3:通过 WordPress 后台直接查看

适用于不想使用代码或扩展的快速查看方式。

在 WordPress 后台新建或编辑一篇文章/页面。

切换到代码编辑器模式(右上角“选项”菜单中选择“代码编辑器”)。

观察已有的区块标记,例如:

<!-- wp:paragraph -->
<!-- wp:heading -->

这些注释标签中的名称即为区块类型名称。

注意:此方式仅能查看当前内容已使用的区块类型,而非所有注册的区块。


区块名称列表获取方法 4:通过自定义 PHP 代码输出

适用于需要在服务器端获取所有区块类型的场景(如插件开发或主题调试)。

创建一个简单的插件或在当前主题的 functions.php 中添加以下代码:

function list_registered_block_types() {
    if ( ! class_exists( 'WP_Block_Type_Registry' ) ) {
        return;
    }
    $registered_blocks = WP_Block_Type_Registry::get_instance()->get_all_registered();
    echo '<pre>';
    foreach ( $registered_blocks as $block ) {
        echo esc_html( $block->name ) . "n";
    }
    echo '</pre>';
}
// 仅限管理员查看(可选)
if ( current_user_can( 'manage_options' ) ) {
    add_action( 'wp_footer', 'list_registered_block_types' );
}

访问网站前台(或后台适当位置),代码会输出所有区块名称。

安全提示

建议限制输出权限(如仅管理员可见),避免公开敏感信息。

生产环境中建议将输出记录到日志而非直接显示。


补充说明

区块类型的来源
区块可能由 WordPress 核心、主题、插件注册,以上方法获取的是当前环境中所有已注册的区块。

动态上下文
部分区块可能仅在特定条件(如启用某插件)下才被注册,结果会因页面和环境而异。

更详细的区块信息
若需获取区块的详细属性(如标题、分类、图标等),可在控制台中使用:

wp.blocks.getBlockTypes().forEach(block => console.log(block));

或在 PHP 中打印 $registered_blocks 数组的全部内容。

REST API 方式(进阶):
通过 WordPress REST API 的 /wp/v2/block-types 端点也可获取区块类型列表,但需处理认证和权限问题。

根据你的具体需求(如调试、开发或简单查看),选择最适合的方法即可。