Я пытаюсь обернуть существующие блоки ядра / таблицы div. и он работает, но он разбивает все существующие на сайте блоки таблиц с ошибкой «этот блок содержит неожиданное или недопустимое содержимое».
У меня сложилось впечатление, что поскольку функция «сохранить» в настоящее время Отредактировано, что мне нужно отказаться от исходного блока ядра / таблицы.
Вот моя попытка:
Шаг 1. Создайте новую функцию сохранения с помощью getSaveElement
wp.hooks.addFilter(
'blocks.getSaveElement',
'slug/modify-get-save-content-extra-props',
modifyGetSaveContentExtraProps
);
function modifyGetSaveContentExtraProps(element, blockType, attributes) {
// Check if that is not a table block.
if (blockType.name !== 'core/table') {
return element;
}
// Return the table block with div wrapper.
return (
<div className='test-table-wrapper'>
{element}
// some other stuff will go here.
</div>
);
}
Пока все хорошо. Это «расширит» существующий блок ядра / таблицы. К сожалению, все мои существующие блоки таблиц сломаны. Итак ... Мне нужно отказаться от старой версии, верно?
Шаг 2. Устаревать с помощью registerBlockTypeFilter ???
wp.hooks.addFilter(
"blocks.registerBlockType",
"jsforwp-advgb/extending-register-block-type",
extendTable
);
function extendTable(settings, name) {
if ("core/table" === name) {
let newDep = {
attributes: settings.attributes,
save: settings.save
}
let deps2 = [
...settings.deprecated,
newDep
];
settings.deprecated = deps2;
return settings;
}
return settings;
}
С этим кодом я все еще получение ошибки «недопустимое или неожиданное содержимое».