WordPress Theme. OnePress

📌 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.cssfunctions.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 테마 수정 시 주의할 점

  1. 업데이트 시 변경 사항 유지하려면 자식 테마 사용!
    • style.cssfunctions.php를 직접 수정하면 테마 업데이트 시 변경 내용이 삭제될 수 있음.
    • /wp-content/themes/onepress-child/ 폴더를 만들어 수정하는 것이 안전함.
  2. wp_enqueue_style()wp_enqueue_script() 사용
    • CSS/JS를 추가할 때는 header.php가 아니라 functions.php에서 wp_enqueue_* 함수를 사용해야 함.
  3. 번역 수정 시 loco translate 또는 .po/.mo 파일 사용
    • 다국어 번역을 수정할 때는 languages/ 폴더의 .mo 파일을 직접 수정하는 대신 Loco Translate 플러그지를 사용하는 것이 좋음.

🚀 OnePress 테마를 이해하면 커스텀 테마 제작, 유지보수가 훨씬 쉬워집니다! 🚀

Leave a Reply

Your email address will not be published. Required fields are marked *