You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Gutenberg Group Block的「内部区块使用内容宽度」默认设为关闭

修改Core Group区块Layout属性默认值

要修改core/group区块layout属性的默认type值,你需要正确处理对象类型属性的默认值定义,而非使用之前尝试的错误语法。

正确实现代码

const { addFilter } = wp.hooks;
const { assign, merge } = lodash;

function filterGroupBlockLayoutDefault(settings, name) {
  if (name === 'core/group') {
    // 合并修改layout属性的默认值,保留原有属性配置
    return merge({}, settings, {
      attributes: {
        layout: assign({}, settings.attributes.layout, {
          default: {
            type: 'default'
          }
        })
      }
    });
  }
  return settings;
}

addFilter(
  'blocks.registerBlockType',
  'custom/group-block/layout-default',
  filterGroupBlockLayoutDefault
);

错误代码分析

你之前的尝试存在两处关键问题:

  • layout是object类型属性,它的default值应为对象格式,而非[{ type: 'default' }]这种数组写法
  • 直接覆盖layout属性会丢失原有配置(比如allowedTypes等),必须用assign或merge进行增量修改,仅更新default值

代码说明

  1. 使用lodash.merge深度合并区块设置,确保原有配置不被覆盖
  2. 针对layout属性,用assign保留其原有类型定义,只修改default值为{ type: 'default' }
  3. 此设置会将「内部区块使用内容宽度」的默认状态从开启(对应constrain)改为关闭(对应default)

内容的提问来源于stack exchange,提问作者BenJonroc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 05:45:34