programing

WordPress Gutenberg 블록:페이지 수준 블록을 제한하지만 모든 하위 수준 블록을 허용하는 방법

goodcopy 2023. 3. 29. 23:42
반응형

WordPress Gutenberg 블록:페이지 수준 블록을 제한하지만 모든 하위 수준 블록을 허용하는 방법

WordPress 플러그인에서 몇 가지 커스텀 '레이아웃' Gutenberg 블록을 만들었습니다.기본적으로 페이지 내용의 나머지 부분을 포함하는 '상자'입니다.사용자가 페이지에 이러한 상자만 추가하고 하위 블록을 넣을 수 있도록 제한합니다.

구텐부르크 블록을 제한하는 방법을 찾았습니다.allowed_block_types필터링을 실시합니다.이것은, 유저가 페이지에 「상자」를 추가하는 것만으로 한정합니다.

그런 다음 구텐베르크 블록을 특정 하위 블록만 허용하는 방법을 찾았습니다. 즉, InnerBlocks에서 다음을 지정합니다.allowedBlocks: ['core/paragraph','core/list','core/seperator',...]이 자블록을 포함할 수 있도록 합니다.

문제는 allowed_block_type 필터가 allowedBlocks를 덮어쓰는 것처럼 보인다는 것입니다.

특정 블록은 '페이지' 수준에서 허용하고 다른 블록은 '하위' 수준에서 허용하려면 어떻게 해야 합니까?

WordPress StackExchange에 대한 답변에서 교차 게시됨

간단히 말하면, 할 수 없습니다.그러나 블록만 포함하고 잠겨 있는 블록 템플릿을 사용하면 이 작업을 수행할 수 있습니다.블록에 InnerBlocks 인스턴스가 있는 경우 등록된 블록을 추가할 수 있습니다.

add_action( 'init', 'insert_template' );
function insert_template() {
    $post_type_object = get_post_type_object( 'post' );
    $post_type_object->template =[ [ 'your-custom-block-name'] ];
    $post_type_object->template_lock = 'all';
}

언급URL : https://stackoverflow.com/questions/55962177/wordpress-gutenberg-blocks-how-to-restrict-page-level-blocks-but-allow-all-chi

반응형