2.4. 화면테이블매핑
2.4. 화면테이블매핑
섹션 제목: “2.4. 화면테이블매핑”2.4.1 매핑 개요
섹션 제목: “2.4.1 매핑 개요”A. 공통 사항
섹션 제목: “A. 공통 사항”- 모든 페이지는
wp_3_posts+wp_3_postmeta기반 - ACF 필드 값은
wp_3_postmeta에 저장 - 이미지/미디어는
wp_3_posts(post_type=‘attachment’)
2.4.2 화면별 매핑 상세
섹션 제목: “2.4.2 화면별 매핑 상세”A. 메인
섹션 제목: “A. 메인”| 항목 | 값 |
|---|---|
| URL | /museum/ |
| 컨트롤러 | home.php |
| 템플릿 | twigs/home.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 페이지 콘텐츠 | wp_3_posts | post_type=‘page’, post_name=‘home’ |
| ACF 필드 | wp_3_postmeta | post_id = 페이지ID |
| 대표 이미지 | wp_3_posts | ID = _thumbnail_id |
B. Heritage > 80년의 기록
섹션 제목: “B. Heritage > 80년의 기록”| 항목 | 값 |
|---|---|
| URL | /museum/heritage/80-years/ |
| 컨트롤러 | page-80-years.php |
| 템플릿 | twigs/80-years.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 페이지 콘텐츠 | wp_3_posts | post_type=‘page’, post_name=‘80-years’ |
| 연혁 데이터 | wp_3_postmeta | ACF Repeater 필드 |
| 이미지 갤러리 | wp_3_posts | post_type=‘attachment’ |
C. Heritage > 경영 철학
섹션 제목: “C. Heritage > 경영 철학”| 항목 | 값 |
|---|---|
| URL | /museum/heritage/philosophy/ |
| 컨트롤러 | page-philosophy.php |
| 템플릿 | twigs/philosophy.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 페이지 콘텐츠 | wp_3_posts | post_type=‘page’ |
| 철학 내용 | wp_3_postmeta | ACF 필드 |
| 비디오 | 정적 파일 | src/videos/philosophy_01.mp4 |
D. Heritage > 최초와 최고의 순간
섹션 제목: “D. Heritage > 최초와 최고의 순간”| 항목 | 값 |
|---|---|
| URL | /museum/heritage/first-best/ |
| 컨트롤러 | page-first-best.php |
| 템플릿 | twigs/first-best.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 페이지 콘텐츠 | wp_3_posts | post_type=‘page’ |
| 카드 데이터 | wp_3_postmeta | ACF Repeater |
| 팝업 이미지 | wp_3_posts | post_type=‘attachment’ |
E. Heritage > 삼화 아카이브 100 > List
섹션 제목: “E. Heritage > 삼화 아카이브 100 > List”| 항목 | 값 |
|---|---|
| URL | /museum/heritage/archive-100/ |
| 컨트롤러 | page-archive-100.php |
| 템플릿 | twigs/archive-100.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 아카이브 목록 | wp_3_posts | post_type=‘archive’, post_status=‘publish’ |
| 아카이브 메타 | wp_3_postmeta | archive_category, category_visible, title_visible, content_visible |
| 썸네일 | wp_3_posts | post_type=‘attachment’, ID=_thumbnail_id |
쿼리 예시:
$archives = Timber::get_posts([ 'post_type' => 'archive', 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => 'date', 'order' => 'ASC' // 오래된 순]);F. Heritage > 삼화 아카이브 100 > View
섹션 제목: “F. Heritage > 삼화 아카이브 100 > View”| 항목 | 값 |
|---|---|
| URL | /museum/heritage/archive-100/{slug}/ |
| 컨트롤러 | single-archive.php |
| 템플릿 | twigs/single-archive.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 아카이브 정보 | wp_3_posts | post_type=‘archive’, ID=현재 |
| 아카이브 메타 | wp_3_postmeta | post_id = 아카이브ID |
| 이미지 갤러리 | wp_3_posts | post_type=‘attachment’ |
G. SP SAMHWA
섹션 제목: “G. SP SAMHWA”| 항목 | 값 |
|---|---|
| URL | /museum/sp-samhwa/ |
| 컨트롤러 | page-sp-samhwa.php |
| 템플릿 | twigs/sp-samhwa.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 페이지 콘텐츠 | wp_3_posts | post_type=‘page’ |
| 소개 섹션 | wp_3_postmeta | ACF 필드 |
| 비디오 URL | wp_3_postmeta | ACF 필드 |
H. Future > 미래 산업의 기준
섹션 제목: “H. Future > 미래 산업의 기준”| 항목 | 값 |
|---|---|
| URL | /museum/future/ |
| 컨트롤러 | page-future.php |
| 템플릿 | twigs/future.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 페이지 콘텐츠 | wp_3_posts | post_type=‘page’ |
| 비전 텍스트 | wp_3_postmeta | ACF 필드 |
| 배경 비디오 | 정적 파일 | src/videos/future_bg.mp4 |
I. Future > 전자 재료
섹션 제목: “I. Future > 전자 재료”| 항목 | 값 |
|---|---|
| URL | /museum/future/electronic-materials/ |
| 컨트롤러 | page-electronic-materials.php |
| 템플릿 | twigs/electronic-materials.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 페이지 콘텐츠 | wp_3_posts | post_type=‘page’ |
| 제품 정보 | wp_3_postmeta | ACF 필드 |
J. Future > 이차전지 소재
섹션 제목: “J. Future > 이차전지 소재”| 항목 | 값 |
|---|---|
| URL | /museum/future/secondary-battery-materials/ |
| 컨트롤러 | page-secondary-battery-materials.php |
| 템플릿 | twigs/secondary-battery-materials.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 페이지 콘텐츠 | wp_3_posts | post_type=‘page’ |
| 제품 정보 | wp_3_postmeta | ACF 필드 |
K. Future > 에너지 인프라
섹션 제목: “K. Future > 에너지 인프라”| 항목 | 값 |
|---|---|
| URL | /museum/future/energy-infrastructure/ |
| 컨트롤러 | page-energy-infrastructure.php |
| 템플릿 | twigs/energy-infrastructure.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 페이지 콘텐츠 | wp_3_posts | post_type=‘page’ |
| 제품 정보 | wp_3_postmeta | ACF 필드 |
L. Event > 이벤트 > List
섹션 제목: “L. Event > 이벤트 > List”| 항목 | 값 |
|---|---|
| URL | /museum/event/list/ |
| 컨트롤러 | page-event.php |
| 템플릿 | twigs/event.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 이벤트 목록 | wp_3_posts | post_type=‘event’, post_status=‘publish’ |
| 이벤트 메타 | wp_3_postmeta | ACF 필드 (기간, 상태 등) |
| 썸네일 | wp_3_posts | post_type=‘attachment’ |
쿼리 예시:
$events = Timber::get_posts([ 'post_type' => 'event', 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => 'date', 'order' => 'DESC']);M. Event > 이벤트 > View
섹션 제목: “M. Event > 이벤트 > View”| 항목 | 값 |
|---|---|
| URL | /museum/event/{slug}/ |
| 컨트롤러 | single-event.php |
| 템플릿 | twigs/single-event.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 이벤트 정보 | wp_3_posts | post_type=‘event’, ID=현재 |
| 이벤트 메타 | wp_3_postmeta | post_id = 이벤트ID |
| 댓글 목록 | wp_3_comments | comment_post_ID = 이벤트ID |
| 댓글 메타 | wp_3_commentmeta | comment_id = 댓글ID |
댓글 쿼리:
$comments = get_comments([ 'post_id' => $post->ID, 'status' => 'approve', 'orderby' => 'comment_date', 'order' => 'DESC']);N. Event > 당첨자 발표 > List
섹션 제목: “N. Event > 당첨자 발표 > List”| 항목 | 값 |
|---|---|
| URL | /museum/event/winner/list/ |
| 컨트롤러 | page-winner-list.php |
| 템플릿 | twigs/winner-list.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 당첨자 목록 | wp_3_posts | post_type=‘winner’, post_status=‘publish’ |
| 당첨자 메타 | wp_3_postmeta | ACF 필드 |
| 썸네일 | wp_3_posts | post_type=‘attachment’ |
O. Event > 당첨자 발표 > View
섹션 제목: “O. Event > 당첨자 발표 > View”| 항목 | 값 |
|---|---|
| URL | /museum/event/winner/{slug}/ |
| 컨트롤러 | single-winner.php |
| 템플릿 | twigs/single-winner.twig |
| 데이터 | 테이블 | 조건 |
|---|---|---|
| 수상작 정보 | wp_3_posts | post_type=‘winner’ |
| 수상 정보 | wp_3_postmeta | ACF 필드 (수상자, 작품명 등) |
| 이미지 갤러리 | wp_3_posts | post_type=‘attachment’ |
2.4.3 매핑 요약표
섹션 제목: “2.4.3 매핑 요약표”| 메뉴 | 화면 | URL | post_type | comments |
|---|---|---|---|---|
| 메인 | - | /museum/ | page | - |
| Heritage | 80년의 기록 | /museum/heritage/80-years/ | page | - |
| Heritage | 경영 철학 | /museum/heritage/philosophy/ | page | - |
| Heritage | 최초와 최고의 순간 | /museum/heritage/first-best/ | page | - |
| Heritage | 삼화 아카이브 100 > List | /museum/heritage/archive-100/ | archive | - |
| Heritage | 삼화 아카이브 100 > View | /museum/heritage/archive-100/* | archive | - |
| SP SAMHWA | - | /museum/sp-samhwa/ | page | - |
| Future | 미래 산업의 기준 | /museum/future/ | page | - |
| Future | 전자 재료 | /museum/future/electronic-materials/ | page | - |
| Future | 이차전지 소재 | /museum/future/secondary-battery-materials/ | page | - |
| Future | 에너지 인프라 | /museum/future/energy-infrastructure/ | page | - |
| Event | 이벤트 > List | /museum/event/list/ | event | - |
| Event | 이벤트 > View | /museum/event/* | event | ✅ |
| Event | 당첨자 발표 > List | /museum/event/winner/list/ | winner | - |
| Event | 당첨자 발표 > View | /museum/event/winner/* | winner | - |
2.4.4 공통 컴포넌트 매핑
섹션 제목: “2.4.4 공통 컴포넌트 매핑”A. 헤더 (anniversary-header.twig)
섹션 제목: “A. 헤더 (anniversary-header.twig)”| 데이터 | 소스 |
|---|---|
| 로고 | 정적 이미지 |
| 메뉴 | WordPress 메뉴 (wp_3_terms) |
| 현재 페이지 | $post->post_name |
B. 푸터 (anniversary-footer.twig)
섹션 제목: “B. 푸터 (anniversary-footer.twig)”| 데이터 | 소스 |
|---|---|
| 회사 정보 | 정적 텍스트 |
| 링크 | 정적 URL |
C. 메가 메뉴 (mega-menu.twig)
섹션 제목: “C. 메가 메뉴 (mega-menu.twig)”| 데이터 | 소스 |
|---|---|
| 메뉴 항목 | WordPress 메뉴 또는 하드코딩 |
| 서브메뉴 | ACF 옵션 또는 하드코딩 |
2.4.5 AJAX 엔드포인트 매핑
섹션 제목: “2.4.5 AJAX 엔드포인트 매핑”A. 이벤트 댓글 등록
섹션 제목: “A. 이벤트 댓글 등록”| 항목 | 값 |
|---|---|
| 액션 | wp_ajax_nopriv_event_comment |
| 파일 | sknk_80/inc/event-comments.php |
| 입력 (POST) | 저장 테이블 |
|---|---|
| post_id | wp_3_comments.comment_post_ID |
| author | wp_3_comments.comment_author |
wp_3_comments.comment_author_email | |
| content | wp_3_comments.comment_content |
B. 댓글 목록 조회
섹션 제목: “B. 댓글 목록 조회”| 항목 | 값 |
|---|---|
| 액션 | wp_ajax_nopriv_get_event_comments |
| 조회 테이블 | wp_3_comments |
| 조건 | comment_post_ID, comment_approved=‘1’ |
2.4.6 데이터 흐름도
섹션 제목: “2.4.6 데이터 흐름도”2.4.7 참고사항
섹션 제목: “2.4.7 참고사항”A. 데이터 없는 화면
섹션 제목: “A. 데이터 없는 화면”일부 화면은 DB 조회 없이 정적 콘텐츠만 표시:
- 비디오 배경:
src/videos/폴더의 mp4 파일 - 이미지:
src/images/폴더의 webp/png 파일 - 텍스트: Twig 템플릿에 하드코딩
B. 캐싱
섹션 제목: “B. 캐싱”- WordPress 기본 Object Cache 사용
- 페이지 단위 캐싱은 Yoast SEO 또는 서버 설정 의존