Как редактировать разметку / добавлять классы в блоки WordPress по умолчанию? - PullRequest
0 голосов
/ 21 декабря 2018

Я создал серию пользовательских блоков для WordPress 5.0.0 и до сих пор наслаждаюсь опытом Гутенберга.Тем не менее, я изо всех сил пытаюсь найти в Интернете что-нибудь, что позволит мне изменить вывод блоков по умолчанию, например, блок абзаца?

Например, вывод блока по умолчанию по умолчанию:

<p>Text content</p>

Но я бы хотел изменить его на что-то вроде следующего:

<div class="wrapper">
    <p class="my-class">Text Content</p>
</div>

Если я не смогу достичь вышеуказанного, то мне нужно будет заменить блоки по умолчанию на пользовательские, чтокажется сумасшедшим, учитывая блоки, которые у них есть.

Спасибо.

1 Ответ

0 голосов
/ 23 декабря 2018

Вам нужно использовать editor.BlockEdit hook , чтобы изменить компонент редактирования блока.

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 );
...