菜鸟站长
个人博客主题模板、应用插件、功能开发技术资源聚合分享网站

WordPress 6.9 的 Block Bindings 玩明白了,自定义字段不用再写 shortcode 了

发布者:菜鸟站长  发布日期:2026-10-26  更新日期:2026-10-26  人气指数:13

说实话,我之前一直在纠结一个问题——想在文章里动态显示 自定义 字段的内容,要么写 shortcode,要么写一个专门的 自定义 block,烦得要死。昨晚翻了翻 Make WordPress Core 的更新日志,发现 6.9 把 Block Bindings 这块儿彻底放开了,我试了一下,居然这么简单,我之前怎么没想到。

WordPress 6.9 的 Block Bindings

先补个背景。 Block Bindings 这个 API 是 6.5 引入的,当时只支持 post meta、post data、term data、pattern overrides 这几个内置数据源,而且能绑定的 block 属性也有限。到了 6.9,官方直接加了两个大杀器:服务端的 block_bindings_supported_attributes_{$block_type} 过滤器,能让你自定义哪些 block 属性可以绑数据; 编辑器 端也能注册自定义 source,在下拉框里直接选。

举个实际场景:你有 product_price、product_sku 这两个自定义字段,想让段落和按钮自动显示它们。以前你要么写 do_shortcode,要么搞个动态 block,现在直接一段 PHP 就搞定:

// ========== 核心代码开始 ==========

// ⚠️ 必须挂在 init 钩子上,挂晚了会报 source 不存在

// 别问我怎么知道的,问就是踩过坑

add_action( 'init', 'lk_register_price_source' );
function lk_register_price_source() {
    register_block_bindings_source( 'lk/product-price', array(
        'label' => '商品价格',
        'uses_context' => array( 'postId' ), 

// 6.9 新增,能拿到上下文

        'get_value_callback' => function( $source_args, $block_instance, $attr ) {
            $post_id = $block_instance->context['postId'] ?? 0;

            // ⚠️ meta key 必须在注册时 show_in_rest 设为 true

            // 否则编辑器里根本看不到,我在这儿卡了半小时

            $price = get_post_meta( $post_id, 'product_price', true );
            return $price ? '¥' . number_format( (float) $price, 2 ) : '价格待定';
        },
    ) );
}

// ========== 核心代码结束 ==========

然后你在段落 block 的 metadata.bindings 里指一下这个 source,渲染时 WordPress 会自动替换值,block 里原来的内容作为 fallback 保留——也就是说字段为空的时候页面不会开天窗。

隐藏福利:6.9 的 Interactivity API 也加了 fetch priority 和 onNavigate 回调,配合 Block Bindings 能做出几乎不写 JS 的动态前端,比硬塞 React 进主题香多了。

官方文档:https://developer.wordpress.org/reference/functions/register_block_bindings_source/

Make WordPress Core 更新说明:https://make.wordpress.org/core/2025/11/12/block-bindings-improvements-in-wordpress-6-9/

博主点评: 这 API 确实是近两年 Gutenberg 侧少有的实打实好东西,但 meta key 注册必须 show_in_rest => true 这一条坑了不少人,下划线开头的 key 直接绑不了,别问我为什么,文档里就一句话,被坑过才知道。

《盘天下资源网 | 免费网盘资源分享》一站式免费精选网盘影视大全、资源分享平台。提供免费网盘资源分享,包括热门高清电影、热门电视剧、热播短剧、无损音乐、精品电子书、学习课程资料等。所有资源均来自互联网分享,支持百度网盘、迅雷云盘、夸克网盘、UC网盘一键转存或在线高清观看。

本文检索关键词:WordPress教程 , Gutenberg , Block Bindings


菜鸟站长推荐教程

添加新评论 »

icon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.png