How to change WP Gutenberg's category components panel?

橙三吉。 提交于 2020-02-25 08:11:05

问题


In Gutenberg Editor, I try to modify the categories panel (the one on the right where I choose the categories my post will be placed into). One should not be able to add a post to a category if that category has child-categories. As the categories are static, it'll be ok to use the category-id.

My idea was to use the enqueue_block_editor_assets and add some javascript to disable the checkbox via the ID of the element. This does not work, the element could not be found :-(

This is my unfunctional code so far:

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

(I use get_stylesheet_directory_uri(), because I am in a child theme)

gutenberg-additions.js:

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

回答1:


Welcome to Stackoverflow. There is an example about that in the gutenberg github directory. It is written in the old es5 syntax, but should easily be transferrable to esnext. It uses the editor.PostTaxonomyType filter to edit the taxonomies component.

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

If you need more information, also read the comments on this github issue.



来源:https://stackoverflow.com/questions/56592844/how-to-change-wp-gutenbergs-category-components-panel

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!