테마를 수정하기 전 참고 사항.
1. 아래의 경로값 속 파일을 수정하기 전, 백업은 필수.
2.*테마 편집기에서 해당 코드를 다이렉트로 수정 후 [파일 업데이트] 를 하면 한글이 제대로 입력이 안되는 버그가 있음* 따라서 atom, 드림위버등의 편집기 사용을 권장.
3. Mylisting 테마는 매회 업데이트 버전에서 코드 위치가 바뀌거나 추가되는 부분이 많기 때문에 차일드테마에서 수정 시, 코드가 꼬일 수 있음.
4. 없는 경로는 구글 크롬의 ‘페이지 소스 보기’ 를 사용해 응용 할 것.
5. 새로 업데이트된 로그인 영역 및 회원 유형은 [테마 설정] – [Accounts & Roles] 에서 수정
–
로그인 영역
테마 디자인 -> 테마 편집기 -> Sections -> headers.php 에서
<?php
$data = c27()->merge_options([
'logo' => c27()->get_site_logo(),
'skin' => c27()->get_setting('header_skin', 'dark'),
'style' => c27()->get_setting('header_style', 'default'),
'fixed' => c27()->get_setting('header_fixed', true),
'scroll_skin' => c27()->get_setting('header_scroll_skin', 'dark'),
'scroll_logo' => c27()->get_setting('header_scroll_logo') ? c27()->get_setting('header_scroll_logo')['sizes']['medium'] : false,
'border_color' => c27()->get_setting('header_border_color', 'rgba(29, 29, 31, 0.95)'),
'menu_location' => c27()->get_setting('header_menu_location', 'right'),
'background_color' => c27()->get_setting('header_background_color', 'rgba(29, 29, 31, 0.95)'),
'show_search_form' => c27()->get_setting('header_show_search_form', true),
'show_call_to_action' => c27()->get_setting('header_show_call_to_action_button', false),
'scroll_border_color' => c27()->get_setting('header_scroll_border_color', 'rgba(29, 29, 31, 0.95)'),
'search_form_placeholder' => c27()->get_setting('header_search_form_placeholder', 'Type your search...'),
'scroll_background_color' => c27()->get_setting('header_scroll_background_color', 'rgba(29, 29, 31, 0.95)'),
'blend_to_next_section' => false,
'is_edit_mode' => false,
], $data);
$header_classes = ['c27-main-header', 'header', "header-style-{$data['style']}", "header-{$data['skin']}-skin", "header-scroll-{$data['scroll_skin']}-skin", 'hide-until-load', 'header-scroll-hide'];
if ( $data['fixed'] ) {
$header_classes[] = 'header-fixed';
}
$header_classes[] = sprintf( 'header-menu-%s', $data['menu_location'] === 'right' ? 'right' : 'left' );
$GLOBALS['case27_custom_styles'] .= '.c27-main-header .logo img { height: ' . c27()->get_setting( 'header_logo_height', 38 ) . 'px; }';
if ($data['background_color']) {
if (!isset($GLOBALS['case27_custom_styles'])) $GLOBALS['case27_custom_styles'] = '';
$GLOBALS['case27_custom_styles'] .= '.c27-main-header:not(.header-scroll) .header-skin ';
$GLOBALS['case27_custom_styles'] .= '{ background: ' . $data['background_color'] . ' !important; }';
}
if ($data['border_color']) {
if (!isset($GLOBALS['case27_custom_styles'])) $GLOBALS['case27_custom_styles'] = '';
$GLOBALS['case27_custom_styles'] .= '.c27-main-header:not(.header-scroll) .header-skin { border-bottom: 1px solid ' . $data['border_color'] . ' !important; } ';
}
if ($data['scroll_background_color']) {
if (!isset($GLOBALS['case27_custom_styles'])) $GLOBALS['case27_custom_styles'] = '';
$GLOBALS['case27_custom_styles'] .= '.c27-main-header.header-scroll .header-skin';
$GLOBALS['case27_custom_styles'] .= '{ background: ' . $data['scroll_background_color'] . ' !important; }';
}
if ($data['scroll_border_color']) {
if (!isset($GLOBALS['case27_custom_styles'])) $GLOBALS['case27_custom_styles'] = '';
$GLOBALS['case27_custom_styles'] .= '.c27-main-header.header-scroll .header-skin { border-bottom: 1px solid ' . $data['scroll_border_color'] . ' !important; } ';
}
?>
<header class="<?php echo esc_attr( join( ' ', $header_classes ) ) ?>">
<div class="header-skin"></div>
<div class="header-container">
<div class="header-top container-fluid">
<div class="mobile-menu">
<a href="#main-menu">
<div class="mobile-menu-lines"><i class="mi menu"></i></div>
</a>
</div>
<div class="logo">
<?php if ( $data['logo'] ): ?>
<?php if ( $data['scroll_logo'] ): ?>
<a href="<?php echo esc_url( home_url('/') ) ?>" class="scroll-logo">
<img src="<?php echo esc_url( $data['scroll_logo'] ) ?>">
</a>
<?php endif ?>
<a href="<?php echo esc_url( home_url('/') ) ?>" class="static-logo">
<img src="<?php echo esc_url( $data['logo'] ) ?>">
</a>
<?php else: ?>
<a href="<?php echo esc_url( home_url('/') ) ?>" class="header-logo-text">
<?php echo esc_attr( get_bloginfo('sitename') ) ?>
</a>
<?php endif ?>
</div>
<div class="header-right">
<?php if ( is_user_logged_in() ): $current_user = wp_get_current_user(); ?>
<div class="user-area">
<div class="user-profile-dropdown dropdown">
<a class="user-profile-name" href="#" type="button" id="user-dropdown-menu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<div class="avatar">
<?php echo get_avatar( $current_user->ID ) ?>
</div>
<?php echo esc_attr( $current_user->display_name ) ?>
<?php if ( class_exists('WooCommerce') ): ?>
<div class="submenu-toggle"><i class="material-icons">arrow_drop_down</i></div>
<?php endif; ?>
</a>
<?php if ( has_nav_menu( 'mylisting-user-menu' ) ) : ?>
<?php wp_nav_menu([
'theme_location' => 'mylisting-user-menu',
'container' => false,
'depth' => 0,
'menu_class' => 'i-dropdown dropdown-menu',
'items_wrap' => '<ul class="%2$s" aria-labelledby="user-dropdown-menu">%3$s</ul>'
]); ?>
<?php elseif ( class_exists('WooCommerce') ) : ?>
<ul class="i-dropdown dropdown-menu" aria-labelledby="user-dropdown-menu">
<?php foreach ( wc_get_account_menu_items() as $endpoint => $label ) : ?>
<?php do_action( "case27/user-menu/{$endpoint}/before" ) ?>
<li class="user-menu-<?php echo esc_attr( $endpoint ) ?>">
<a href="<?php echo esc_url( wc_get_account_endpoint_url( $endpoint ) ); ?>"><?php echo esc_html( $label ); ?></a>
</li>
<?php do_action( "case27/user-menu/{$endpoint}/after" ) ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</div>
<?php if ( c27()->get_setting( 'header_show_cart', true ) !== false ): ?>
<?php c27()->get_partial( 'header-cart' ) ?>
<?php endif ?>
<?php if ( c27()->get_setting( 'messages_enabled', true ) !== false ): ?>
<div class="messaging-center inbox-header-icon">
<a href="#" id="messages-modal-toggle" class="icon-btn" data-toggle="modal" data-target="#ml-messages-modal">
<i class="mi forum"></i>
<div class="chat-counter-container" id="ml-chat-activities"></div>
</a>
</div>
<?php endif ?>
</div>
<?php else: ?>
<div class="user-area signin-area">
<i class="mi person user-area-icon"></i>
<a href="<?php echo esc_url( \MyListing\get_login_url() ) ?>">
<?php _e( '로그인', 'my-listing' ) ?>
</a>
<?php if ( get_option( 'woocommerce_enable_myaccount_registration' ) === 'yes' ): ?>
<span><?php _e( 'or', 'my-listing' ) ?></span>
<a href="<?php echo esc_url( \MyListing\get_register_url() ) ?>">
<?php _e( '회원가입', 'my-listing' ) ?>
</a>
<?php endif ?>
</div>
<div class="mob-sign-in">
<a href="<?php echo esc_url( \MyListing\get_login_url() ) ?>"><i class="mi person"></i></a>
</div>
<?php if ( c27()->get_setting( 'header_show_cart', true ) !== false ): ?>
<?php c27()->get_partial( 'header-cart' ) ?>
<?php endif ?>
<?php endif ?>
<?php require locate_template( 'partials/header/call-to-action.php' ) ?>
<?php if ( $data['show_search_form'] ): ?>
<div class="search-trigger" data-toggle="modal" data-target="#quicksearch-mobile-modal">
<a href="#"><i class="mi search"></i></a>
</div>
<?php endif ?>
</div>
</div>
<div class="container-fluid header-bottom">
<div class="header-bottom-wrapper row">
<?php if ( $data['show_search_form'] ): ?>
<?php c27()->get_partial( 'quick-search', [
'instance-id' => 'c27-header-search-form',
'placeholder' => $data['search_form_placeholder'],
'align' => 'left',
] ) ?>
<?php add_action( 'mylisting/get-footer', function() use ( $data ) { ?>
<div id="quicksearch-mobile-modal" class="modal modal-27">
<div class="modal-dialog modal-md">
<div class="modal-content">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<?php c27()->get_partial( 'quick-search', [
'instance-id' => 'quicksearch-mobile',
'placeholder' => $data['search_form_placeholder'],
'align' => 'left',
'focus' => 'always',
] ) ?>
</div>
</div>
</div>
<?php } ) ?>
<?php endif ?>
<div class="i-nav">
<div class="mobile-nav-head">
<div class="mnh-close-icon">
<a href="#close-main-menu">
<i class="mi menu"></i>
</a>
</div>
<?php if ( is_user_logged_in() ): $current_user = wp_get_current_user(); ?>
<div class="user-profile-dropdown">
<a class="user-profile-name" href="#">
<div class="avatar">
<?php echo get_avatar( $current_user->ID ) ?>
</div>
<?php echo esc_html( $current_user->display_name ) ?>
<?php if ( class_exists('WooCommerce') ): ?>
<div class="submenu-toggle"><i class="mi arrow_drop_down"></i></div>
<?php endif; ?>
</a>
</div>
<?php endif ?>
</div>
<?php if ( is_user_logged_in() ): ?>
<div class="mobile-user-menu">
<?php if ( has_nav_menu( 'mylisting-user-menu' ) ) : ?>
<?php wp_nav_menu( [
'theme_location' => 'mylisting-user-menu',
'container' => false,
'depth' => 0,
'menu_class' => '',
'items_wrap' => '<ul class="%2$s">%3$s</ul>'
] ) ?>
<?php elseif ( class_exists( 'WooCommerce' ) ) : ?>
<ul>
<?php foreach ( wc_get_account_menu_items() as $endpoint => $label ) : ?>
<?php do_action( "case27/user-menu/{$endpoint}/before" ) ?>
<li class="user-menu-<?php echo esc_attr( $endpoint ) ?>">
<a href="<?php echo esc_url( wc_get_account_endpoint_url( $endpoint ) ); ?>"><?php echo esc_html( $label ); ?></a>
</li>
<?php do_action( "case27/user-menu/{$endpoint}/after" ) ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</div>
<?php endif ?>
<?php echo str_replace(
'<ul class="sub-menu"',
'<div class="submenu-toggle"><i class="material-icons">arrow_drop_down</i></div><ul class="sub-menu i-dropdown"',
wp_nav_menu( [
'echo' => false,
'theme_location' => 'primary',
'container' => false,
'menu_class' => 'main-menu',
'items_wrap' => '<ul id="%1$s" class="%2$s main-nav">%3$s</ul>'
]
) ) ?>
<div class="mobile-nav-button">
<?php require locate_template( 'partials/header/call-to-action.php' ) ?>
</div>
</div>
<div class="i-nav-overlay"></div>
</div>
</div>
</div>
</header>
<?php if ( ! $data['blend_to_next_section'] ): ?>
<div class="c27-top-content-margin"></div>
<?php endif ?>
<?php if ( $data['is_edit_mode'] ): ?>
<script type="text/javascript">case27_ready_script(jQuery);</script>
<?php endif ?>
139번째 줄의 ’Sign in’ 을 [로그인]으로,
144번째 줄의 ’Register’ 를 [회원가입]으로 수정
–
templates/auth/login-form.php 에서
<?php
/**
* User login form template.
*
* @since 1.0
*/
if ( ! defined('ABSPATH') ) {
exit;
} ?>
<form class="sign-in-form woocomerce-form woocommerce-form-login login" method="POST"
action="<?php echo esc_url( wc_get_page_permalink('myaccount') ) ?>">
<?php do_action( 'woocommerce_login_form_start' ) ?>
<div class="form-group">
<input type="text" name="username" id="username" placeholder=" "
value="<?php echo ! empty( $_POST['username'] ) ? esc_attr( $_POST['username'] ) : '' ?>">
<label for="username"><?php _ex( '이메일 주소', 'Login form', 'my-listing' ) ?></label>
</div>
<div class="form-group">
<input type="password" name="password" id="password" placeholder=" ">
<label for="password"><?php _ex( '비밀번호', 'Login form', 'my-listing' ) ?></label>
</div>
<?php do_action( 'woocommerce_login_form' ); ?>
<?php wp_nonce_field( 'woocommerce-login', 'woocommerce-login-nonce' ); ?>
<?php if ( mylisting()->get('roles.login_captcha') ): ?>
<?php \MyListing\display_recaptcha() ?>
<?php endif ?>
<div class="form-group">
<button type="submit" class="buttons button-2 full-width" name="login" value="Login">
<i class="mi person user-area-icon"></i>
<?php _e( '로그인', 'my-listing' ) ?>
</button>
</div>
<div class="form-info">
<div class="md-checkbox">
<input type="checkbox" name="rememberme" type="checkbox" id="rememberme" value="forever">
<label for="rememberme" class="">
<?php _e( '아이디 저장', 'my-listing' ) ?>
</label>
</div>
</div>
<?php do_action( 'woocommerce_login_form_end' ); ?>
<div class="forgot-password">
<a href="<?php echo esc_url( wp_lostpassword_url() ) ?>">
<i class="mi lock"></i>
<?php _e( '비밀번호 찾기', 'my-listing' ) ?>
</a>
</div>
</form>
18번째 줄의 ‘User name’ 을 [아이디 또는 이메일 주소] 로,
23번째 줄의 ‘Password’ 를 [비밀번호] 로,
37번째 줄의 ’Sign in’ 을 [로그인] 으로,
45번째 줄의 ‘Remember me’ 를 [아이디 저장] 으로,
55번째 줄의 ‘Forgot password?’ 를 [비밀번호 찾기] 로 수정
–
templates/auth/register-form.php 에서
15번째 줄의 ‘Choose role’ 을 [회원 유형] 으로,
72번째 줄의 ‘Sign Up’ 을 [회원가입] 으로,
Email, Password 는 테마 설정 Accounts & Roles 에서 수정
–
Includes -> extensions -> social login -> social login.php에서
120번째 줄의 “Or connect with” 를 [SNS 로그인] 으로 수정
–
Includes -> extensions -> social login -> networks -> google.php 에서
67번째 줄의 ‘Sign in with Google’ 을 [구글 계정으로 로그인] 으로 수정
–
Includes -> extensions -> social login -> networks -> facebook.php 에서
85번째 줄의 ‘Login with Facebook’ 를 [페이스북 계정으로 로그인] 으로 수정
–
검색창
Partials -> quick-search.php 에서
21번째 줋의 “View all results” 를 [전체보기] 로,
24번째 줄의 “No results” 를 [검색결과 없음] 으로
37번째 줄의 “Featured” 를 [추천 카테고리] 으로 변경
–
Partials -> search-form.php 에서
57번째 줄의 “Search” 를 [검색] 으로 변경
–
includes/src/queries/quick-search.php 에서
22번째 줄의 “Categories” 를 [카테고리] 로
72번째 줄의 ‘Regions’을 [국가]로 수정
–
Explore
templates/explore/regular.php 에서
51번째 줄의 “Map view” 를 “지도 보기” 로 변경
62번째 줄의 “There are no listings matching your search” 를 “등록된 리스팅이 없습니다.” 로 변경
65번째줄의 “Reset Filter” 를 “새로고침” 으로 변경
96번째 줄의 “List view” 를 “리스트 보기” 로 변경
–
templates/explore/partials/mobile-nav.php 에서
6번째 줄의 “List view” 를 “리스트 보기” 로 변경
14번째 줄의 “Map view” 를 “지도 보기” 로 변경
–
리뷰
includes/extensions/reviews/reviews.php 에서
382번째 줄의 “Upload Images” 를 [이미지 업로드]로 변경
–
댓글에서
38번째 줄의 “No comments yet” -> “작성된 리뷰가 없습니다.”
69번째 줄의 “Add a comment” -> “리뷰 남기기” 으로 변경
102번째 줄의 “Your Message” -> “리뷰 내용” 으로 변경
103번째 줄의 “Enter message…” -> “. . .” 으로 변경
111번째 줄의 “동의 내용 영문을 Save my name, email, and website in this browser for the next time I comment.” -> [나의 닉네임, 이메일 주소, 리뷰 내용을 저장합니다.] 로 수정
119번째 줄의 “Submit review” -> “등록” 로 변경
–
Upcoming Date
templates/single-listing/content-blocks/upcoming-dates-block.php 에서
36번째 줄의 ‘Add to Google Calendar’ -> ‘구글 캘린더에 추가’ 로 변경
–
영업시간
templates/single-listing/content-blocks/work-hours-block.php 에서
34번째 줄의 “Toggle weekly schedule” -> “펼치기” 로 변경,
54번째 줄의 “Local time” -> “*현지시간*” 으로 변경
–
includes/src/work-hours.php 에서
26~ 31번째 줄의 Monday~ 등 월요일~일요일까지 수정
303번째 줄의 “Open hours today” 를 “오늘 :” 로 변경
–
리스팅 등록
templates/add-listing/choose-type.php에서
46번째 줄의 “Choose type” 을 “리스팅 타입 선택” 으로 변경
–
templates/add-listing/auth.php에서
add listing 위젯 안의 텍스트 변경
18번째줄 -> You must be logged in to post new listings -> 리스팅을 작성하려면 로그인을 해야합니다.
31번째줄 -> Account 를 로그인으로 변경
40번째 줄 -> 로그인으로 변경
46번째 줄 -> 회원가입으로 변경
–
templates/add-listing/submit-form.php에서
20번째 줄 -> Your Listing Details를 “빈칸” 로 변경
39번째 줄 > General 을 ‘필수정보’ 로 변경
111번째 줄 -> ‘Skip preview and submit’ 를 ‘미리보기 건너뛰기’ 로 변경
129번째 줄 -> ‘Please wait while the request is being processed’ 을 ‘로딩중.. 잠시만 기다려주세요’ 로 변경
–
includes/src/forms/add-listing-form.php에서
200번째 줄 -> ‘Preview’ 를 ‘미리보기’ 로 변경
–
templates/add-listing/preview.php 에서
17번째 줄 -> ’Submit listing’ 을 ‘이 글 등록하기’ 로 변경
18번째 줄 -> ‘edit listing’ 을 ‘조금 더 수정하기’ 로 변경
–
/templates/add-listing/choose-package.php
131번째 줄 -> “Buy Package”를 “리스팅 등록 및 패키지 구입” 으로 변경
–
/includes/src/paid-listings/controllers/add-listing.php
108번째줄-> “Choose a Package” 를 “패키지 선택”으로 변경
–
/includes/src/claims/claim-listing-form.php
178번째줄-> “Choose a Package” 를 “리스팅 구입”으로 변경
179번째줄-> “Pricing” 을 “패키지 선택” 으로 변경
–
리스팅
partials/no-listings-found.php 에서
“There are no listings matching your search” 를 “등록된 리스팅이 없습니다.” 로 변경
–
추천 리스팅
templates/single-listing/similar-listings.php 에서
21번째 줄의 “You May Also Be Interested In” 를 “추천 리스팅” 로 변경
–
메시지 관련 [v2.5.7 부터 작업 보류, 아래는 이전 버전 소스이니 참고만]
includes/extensions/messages/views/messages.php
30번째 줄의 “Compose” 를 “메세지” 로 수정
67번째 줄의 “Are you sure you want to delete this message?” 를 “이 메시지를 삭제하시겠습니까?” 로 수정
70번째 줄의 “Yes” 를 “예”로, 73번째 “No”를 “아니요”로 수정
133번째 줄의 “Post a reply” 을 ‘메시지 보내기…” 로 변경
135번째 줄의 “You have blocked this user.” 를 “이 회원을 차단했습니다.” 로 변경
143번째 줄의 “Are you sure you want to unblock this user?”를 “차단을 해제하시겠습니까? 로 수정
147번째 줄의 “Are you sure you want to block this user?” 를 “이 회원을 차단하시겠습니까?” 로 수정
151번째 줄의 “Yes” 를 “예”로, 154번째 “No”를 “아니요”로 수정
161번째 줄의 “Are you sure you want to delete this conversation?” 를
“채팅방에서 나가시겠습니까?” 로 수정
163번째 줄 “Yes” 를 “예로, 166번째 “No” 를 “아니요” 로 수정
207번째 줄 “Are you sure you want to delete this conversation?” 를
“채팅방에서 나가시겠습니까?” 로 수정
209번째 줄의 “Yes” 를 “예”로, 211번째 “No”를 “아니요”로 수정
221번째 줄의 “Message” 를 “메시지”로 수정
223번째 줄의 “Compose” 를 “회원선택”으로 수정
231번째 줄의 “No messages available. To start a conversation, use compose button” 를
“새로운 메시지가 없습니다. 회원을 선택 후 메시지를 보내보세요.” 로 수정
244번째 줄의 “Compose” 를 “회원선택”으로 수정