📌 WordPress 테마 OnePress
구조 상세 설명
OnePress는 반응형(one-page) WordPress 테마로, 기업 웹사이트, 포트폴리오, 랜딩 페이지 등에 자주 사용됩니다.
✅ Bootstrap 기반으로 개발됨
✅ 커스텀 위젯, 테마 옵션, 페이지 빌더 지원
✅ SEO 최적화, WooCommerce 호환
📁 1️⃣ OnePress 테마 폴더 구조
OnePress 테마는 /wp-content/themes/onepress/
경로에 설치됩니다.
/onepress │── assets/ # CSS, JS, 이미지 리소스 폴더 │── inc/ # 테마 기능 파일 │── template-parts/ # 템플릿 파일 조각 (Header, Footer 등) │── woocommerce/ # WooCommerce 관련 파일 │── languages/ # 다국어 번역 파일 │── page-templates/ # 사용자 정의 페이지 템플릿 │── style.css # 테마의 메인 스타일 파일 │── functions.php # 테마 기능 정의 (필수 파일) │── index.php # 메인 템플릿 파일 │── header.php # 헤더 템플릿 │── footer.php # 푸터 템플릿 │── page.php # 단일 페이지 템플릿 │── single.php # 단일 글(Post) 템플릿 │── archive.php # 아카이브 페이지 템플릿 │── sidebar.php # 사이드바 템플릿 │── screenshot.png # 테마 미리보기 이미지
📂 2️⃣ 주요 폴더 상세 설명
📁 assets/
(CSS, JS, 이미지)
💡 테마의 정적 파일 (CSS, JS, 이미지 등) 저장
/assets │── css/ │ │── style.css # 메인 스타일 파일 │ │── responsive.css # 반응형 스타일 │── js/ │ │── scripts.js # 테마 관련 JS │ │── navigation.js # 네비게이션 관련 JS │── images/ │ │── logo.png # 기본 로고 이미지 │ │── background.jpg # 배경 이미지
📌 주의할 점
style.css
는functions.php
에서wp_enqueue_style()
을 사용해 불러옴.js/scripts.js
같은 스크립트도wp_enqueue_script()
로 추가해야 함.images/
폴더에 있는 파일은 미디어 라이브러리에서 직접 사용 가능.
📁 inc/
(테마 기능 관련 PHP 파일)
💡 OnePress 테마의 기능을 담당하는 파일들이 들어 있음.
/inc │── customizer.php # 테마 커스텀 설정 (WordPress Customizer API) │── template-functions.php # 템플릿 관련 함수 │── extras.php # 추가 기능 (위젯, 커스텀 메뉴 등) │── setup.php # 테마 초기 설정 (메뉴 등록, 썸네일 지원 등) │── hooks.php # 액션/필터 훅 정의
📌 주의할 점
customizer.php
에서 테마 사용자 설정을 추가할 수 있음.setup.php
에서 테마 지원 기능(썸네일, 메뉴 등록 등)을 정의함.hooks.php
는 필터 및 액션 훅을 관리하는 파일로 커스텀 가능.
📁 template-parts/
(템플릿 구성요소)
💡 템플릿의 헤더, 푸터, 포스트 형식 등을 분리한 폴더
/template-parts │── content-none.php # 콘텐츠가 없을 때 표시되는 템플릿 │── content-page.php # 페이지 콘텐츠 템플릿 │── content-single.php # 단일 글 콘텐츠 템플릿 │── content.php # 기본 콘텐츠 템플릿 │── footer-widgets.php # 푸터 위젯 영역 │── header-navigation.php # 네비게이션 바
📌 주의할 점
get_template_part( 'template-parts/content', 'single' );
방식으로 템플릿 조각을 불러올 수 있음.content-none.php
는 글이 없을 때No Posts Found
메시지를 표시함.
📁 woocommerce/
(WooCommerce 지원)
💡 WooCommerce를 지원하는 템플릿 파일 포함
/woocommerce │── archive-product.php # 상품 목록 페이지 템플릿 │── content-product.php # 개별 상품 템플릿 │── single-product.php # 단일 상품 페이지 │── cart.php # 장바구니 페이지 │── checkout.php # 결제 페이지
📌 주의할 점
- WooCommerce 관련 기능을 수정할 때는 자식 테마를 사용하는 것이 안전함.
- 업데이트 시 WooCommerce 기본 템플릿이 덮어씌워질 수 있음.
📁 languages/
(다국어 지원)
💡 다국어 번역 파일 저장 (.mo
, .po
파일)
/languages │── onepress-en_US.mo # 영어 번역 파일 │── onepress-ko_KR.mo # 한국어 번역 파일
📌 주의할 점
- 새로운 번역을 추가하려면
Loco Translate
플러그인을 사용하는 것이 편리함. - 직접 번역하려면
Poedit
같은 프로그램을 사용해서.po
파일을 수정하면 됨.
📄 3️⃣ 주요 파일 상세 설명
📄 functions.php
(테마의 기능 정의)
💡 WordPress에서 가장 중요한 테마 파일 (테마 초기 설정, 기능 추가)
<?php function onepress_theme_setup() { add_theme_support('title-tag'); // 제목 자동 지원 add_theme_support('post-thumbnails'); // 썸네일 지원 register_nav_menus(array( 'primary' => __('Primary Menu', 'onepress'), )); } add_action('after_setup_theme', 'onepress_theme_setup');
✅ functions.php
에서 할 수 있는 것:
- 테마 초기화 (
after_setup_theme
훅) - 메뉴 등록 (
register_nav_menus
) - 썸네일 지원 추가 (
add_theme_support
) - 스타일 및 스크립트 추가 (
wp_enqueue_style
,wp_enqueue_script
)
📄 style.css
(테마의 스타일시트)
💡 OnePress 테마의 메인 CSS 파일
/* Theme Name: OnePress Theme URI: https://www.famethemes.com/themes/onepress/ Author: FameThemes Description: A creative and flexible one-page WordPress theme. Version: 2.3.1 License: GNU General Public License v2 or later Text Domain: onepress */
📌 주의할 점
style.css
파일의 상단에는 반드시 테마 정보(Theme Name
,Version
등)가 포함되어야 함.- 테마의 CSS 수정은 **자식 테마(
child theme
)**를 사용하는 것이 권장됨.
✅ 4️⃣ OnePress 테마 수정 시 주의할 점
- 업데이트 시 변경 사항 유지하려면 자식 테마 사용!
style.css
나functions.php
를 직접 수정하면 테마 업데이트 시 변경 내용이 삭제될 수 있음./wp-content/themes/onepress-child/
폴더를 만들어 수정하는 것이 안전함.
wp_enqueue_style()
및wp_enqueue_script()
사용- CSS/JS를 추가할 때는
header.php
가 아니라functions.php
에서wp_enqueue_*
함수를 사용해야 함.
- CSS/JS를 추가할 때는
- 번역 수정 시
loco translate
또는.po/.mo
파일 사용- 다국어 번역을 수정할 때는
languages/
폴더의.mo
파일을 직접 수정하는 대신Loco Translate
플러그지를 사용하는 것이 좋음.
- 다국어 번역을 수정할 때는
🚀 OnePress 테마를 이해하면 커스텀 테마 제작, 유지보수가 훨씬 쉬워집니다! 🚀