# YOUELBLOCKS 개발자 노트 ## 📋 **프로젝트 개요** YOUELBLOCKS는 WordPress 블록 에디터(Gutenberg)를 활용한 현대적인 폼 빌더 플러그인입니다. PHP 7.4+와 WordPress 5.0+를 기반으로 설계되어 최신 웹 기술을 완전히 활용합니다. **현재 버전**: 6.4.5 (2025-01-27) **마지막 업데이트**: 코드 모듈화 완료 및 중복 블록 등록 문제 해결 ## 🚨 **버전 6.4.5 - 코드 모듈화 완료 및 중복 블록 등록 문제 해결** ### **주요 변경사항** - **완전한 코드 모듈화**: 기존 `block-editor.js` (2,168줄)를 5개의 모듈로 분리 - **중복 블록 등록 문제 해결**: `block-editor.js` 완전 제거로 중복 등록 방지 - **기능 누락 없는 완벽한 분리**: 모든 기능이 원본과 동일하게 작동 ### **새로운 파일 구조** ``` assets/js/ ├── block-editor-core.js # 핵심 설정 및 초기화 ├── utils/ │ └── field-utils.js # 필드 유틸리티 (FieldNameUtils, getIcon 등) └── blocks/ ├── integrated-form.js # 통합폼 블록 ├── field-blocks.js # 기본 필드 블록들 └── field-special.js # 특수 필드 블록들 (email, select, multiselect 등) ``` ### **분리된 기능들** 1. **`FieldNameUtils`** → `field-utils.js` 2. **`getAllowedBlocks`** → `integrated-form.js` 3. **`openPostcodeService`** → `field-utils.js` 4. **자동 필드명 생성 시스템** → `block-editor-core.js` 5. **페이지 ID 설정 시스템** → `block-editor-core.js` 6. **`getIcon`** → `field-utils.js` 7. **`presets`** → `integrated-form.js` 8. **`fieldTypes`** → `field-utils.js` 9. **`userCanManageOptions`** → `integrated-form.js` 10. **CSS 스타일 로드** → `block-editor-core.js` ### **해결된 문제들** - ✅ **중복 블록 등록**: `block-editor.js` 완전 제거 - ✅ **필드 타입 중복**: `select`를 `fieldTypes`에서 제거 - ✅ **presets 중복**: `"form-full"` 중복 정의 제거 - ✅ **FieldNameUtils 형식**: 원본과 동일한 `p${pageId}d${dateStr}c${columnStr}` 형식 복원 - ✅ **통합폼이 없는 경우 처리**: 전체 페이지 검사 로직 추가 ### **검증 결과** - ✅ 모든 블록이 정상적으로 등록됨 - ✅ 필드명 자동 생성 시스템 정상 작동 - ✅ 우편번호 서비스 정상 작동 - ✅ 통합폼 블록 검증 오류 해결 - ✅ WordPress 6.4+ 호환성 유지 --- ## 🚨 **버전 6.4.4 - 이메일 및 다중선택 필드 검증 오류 해결** ### **문제 상황** WordPress 6.4+ 블록 검증 시스템에서 이메일 필드와 다중선택 필드가 지속적으로 검증 오류를 발생시켰습니다. #### **이메일 필드 문제:** ``` Block validation failed for `youelblocks/field-email` Content generated by `save` function: ``` #### **다중선택 필드 문제:** ``` Block validation failed for `youelblocks/field-multiselect` Content generated by `save` function: Content retrieved from post body: