테마를 수정하기 전 참고 사항.

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” 를 “회원선택”으로 수정