Как сделать дополнительный флажок у Гутенберга?

Я хочу добавить дополнительный флажок рядом с Обрезать изображение, но я не понимаю, что нужно написать в javascript для его рендеринга и последующей обработки. Я не смог найти документации с объяснением этого. Я пробовал писать такой код, но это не сработало:

function addListBlockClassName (settings, name) {
  if (name !== 'core/gallery') {
    return settings
  }

  // new checkbox
  settings.attributes.enableVoting = {
    default: false,
    type: 'boolean',
  }

  return settings
}

wp.hooks.addFilter(
  'blocks.registerBlockType',
  'my-plugin/class-names/list-block',
  addListBlockClassName
)

person dakiesse    schedule 03.03.2019    source источник


Ответы (1)


Вы можете добавить дополнительный флажок на боковой панели, используя InspectorControls и Checkbox Control

Взгляните на блок галереи и узнайте, как они реализуют вещи на боковой панели, используя InspectorControls. Это может быть сложно, поэтому для упрощения реализации вы можете посмотреть другие основные блоки Gutenberg.

И эта ссылка поможет вам узнать, как использовать CheckboxControl.

В приведенном выше коде вы просто добавляете ловушку, которая меняет имя класса по умолчанию для галереи блоков, и это не то, о чем вы спрашиваете. Обратите внимание, что, насколько мне известно, вы не можете редактировать основные блоки по умолчанию (кроме очень немногих вещей), если вы не скопируете весь основной блок и не добавите в него дополнительные функции.

person Mehmood Ahmad    schedule 05.03.2019