다음은 블록 플러그인이 WordPress 후크, 특히 WordPress 6.4에 도입된 새로운 블록 후크 기능을 사용하는 방법에 대한 요약입니다.
1. 블록 후크 원칙:
- 자동 배치: 콘텐츠에 다른 블록이 추가되면 블록이 자동으로 위치를 지정할 수 있으므로 수동으로 삽입할 필요가 없습니다.
- 가시성 및 제어: 삽입된 블록은 편집기에 표시되며 사용자는 자동 삽입에 대한 제어를 유지하므로 맞춤형 편집 환경이 가능합니다.
2. 제한사항 및 고려사항:
- Block Hook은 수정되지 않은 템플릿, 템플릿 부분, 테마에서 제공하는 패턴에서만 작동합니다. 게시물 콘텐츠, 수정된 템플릿/부분 또는 사용자 생성 패턴에서는 작동하지 않습니다.
- WordPress 6.4부터 사용자 정의 저장 기능이 있는 블록에서는 자동 삽입이 작동하지 않습니다. 이로 인해 블록 유효성 검사 오류가 발생할 수 있습니다. 개발자는 호환성을 위해 동적 블록을 사용해야 합니다.
3. 블록을 연결하는 두 가지 방법:
ㅏ. `block.json` 사용:
- 타사 블록을 연결하는 간단한 방법을 제공하지만 유연성은 제한됩니다.
- `block.json`의 `blockHooks` 속성을 사용하면 후크된 블록의 위치(앞, 뒤, 첫 번째 자식, 마지막 자식)를 지정할 수 있습니다.
비. `hooked_block_types` 필터 사용:
- `block.json`에 비해 더 많은 유연성을 제공하여 템플릿, 템플릿 부분 또는 패턴을 기반으로 조건부 후킹을 허용합니다.
- `hooked_block_types`에 대한 콜백 함수는 후크 블록, 위치, 앵커 블록 및 컨텍스트와 같은 매개변수를 받습니다.
4. 개발자를 위한 고려 사항:
- 후크 블록이 사이트 편집기에 나타나 사용자가 배치를 제어할 수 있습니다. 사용자가 블록을 이동하려는 경우 개발자는 블록의 위치를 강제로 조정할 수 없습니다.
- 정적 블록을 후크하는 것(사용자 정의 저장 기능 사용)은 블록 유효성 검사 오류가 발생할 수 있으므로 권장되지 않습니다. 동적 블록은 블록 후크에 선호되는 선택입니다.
- 개발자는 후크된 블록이 현재 WordPress 버전 및 Block Hooks API와 호환되는지 확인해야 합니다.
요약하자면, WordPress 6.4 이상의 새로운 블록 후크 기능은 블록 플러그인이 특정 위치에 블록을 자동으로 삽입하는 동시에 사용자가 사이트 편집기 내에서 해당 블록의 배치를 제어할 수 있는 강력한 방법을 제공합니다.
인용:[1] https://github.com/WordPress/gutenberg/issues/54904
[2] https://kinsta.com/blog/wordpress-hooks/
[3] https://essential-blocks.com/block-hooks-everything-you-need-to-know/
[4] https://www.youtube.com/watch?v=ezPHiyhhaoQ
[5] https://developer.wordpress.org/block-editor/reference-guides/packages/packages-hooks/