Я создал серию пользовательских блоков для WordPress 5.0.0 и до сих пор наслаждаюсь опытом Гутенберга. Тем не менее, я изо всех сил пытаюсь найти что-нибудь в Интернете, что позволит мне изменить вывод блоков по умолчанию, таких как блок абзаца?
Например, вывод по умолчанию блока абзаца:
<p>Text content</p>
Но я хотел бы изменить это на что-то вроде следующего:
<div class="wrapper">
<p class="my-class">Text Content</p>
</div>
Если я не смогу достичь вышеуказанного, то мне нужно будет заменить блоки по умолчанию на пользовательские, что кажется сумасшедшим, учитывая блоки, которые у них есть.
Благодарю.
Вам нужно использовать editor.BlockEdit крюк изменить компонент редактирования блока.
const { createHigherOrderComponent } = wp.compose;
const { Fragment } = wp.element;
const { InspectorControls } = wp.editor;
const { PanelBody } = wp.components;
const withInspectorControls = createHigherOrderComponent( ( BlockEdit ) => {
return ( props ) => {
return (
<Fragment>
<BlockEdit { ...props } />
<InspectorControls>
<PanelBody>
My custom control
</PanelBody>
</InspectorControls>
</Fragment>
);
};
}, "withInspectorControl" );
wp.hooks.addFilter( 'editor.BlockEdit', 'my-plugin/with-inspector-controls', withInspectorControls );
Других решений пока нет …