Как изменить панель компонентов категории WP Gutenberg? - PullRequest
0 голосов
/ 14 июня 2019

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

Моя идея состояла в том, чтобы использовать enqueue_block_editor_assets и добавить некоторый JavaScript, чтобы отключить флажок с помощью идентификатора элемента.Это не работает, элемент не найден: - (

Это мой неработающий код:

functions.php:

function gutenberg_enqueue()
{
    wp_enqueue_script(
        'gutenberg-additions-script',
        get_stylesheet_directory_uri().'/gutenberg-additions.js',
        array(), true, true
    );
}
add_action('enqueue_block_editor_assets', 'gutenberg_enqueue', 999);

(я используюget_stylesheet_directory_uri(), потому что я в детской теме)

gutenberg-extensions.js:

window.onload = function () {
    var cat1 = document.getElementById('editor-post-taxonomies-hierarchical-term-1');
    if (cat1 != null) {
        cat1.disabled = true;
    }

1 Ответ

0 голосов
/ 16 июня 2019

Добро пожаловать в Stackoverflow. Пример об этом есть в каталоге gutenberg github . Он написан в старом синтаксисе es5, но должен легко передаваться в esnext. Для редактирования компонента таксономии используется фильтр editor.PostTaxonomyType.

var el = wp.element.createElement;

function customizeProductTypeSelector( OriginalComponent ) {
    return function( props ) {
        if ( props.slug === 'product-type' ) {
            return el(
                'div',
                {},
                'Product Type Selector'
            );
        } else {
            return el(
                OriginalComponent,
                props
            );
        }
    }
};

wp.hooks.addFilter(
    'editor.PostTaxonomyType',
    'my-custom-plugin',
    customizeProductTypeSelector
);

Если вам нужна дополнительная информация, прочитайте также комментарии к этой проблеме github .

...