테마를 수정하기 전 참고 사항.
1. 아래의 경로값 속 파일을 수정하기 전, 백업은 필수.
2.*테마 편집기에서 해당 코드를 다이렉트로 수정 후 [파일 업데이트] 를 하면 한글이 제대로 입력이 안되는 버그가 있음* 따라서 atom, 드림위버등의 편집기 사용을 권장.
3. Mylisting 테마는 매회 업데이트 버전에서 코드 위치가 바뀌거나 추가되는 부분이 많기 때문에 차일드테마에서 수정 시, 코드가 꼬일 수 있음.
4. 없는 경로는 구글 크롬의 ‘페이지 소스 보기’ 를 사용해 응용 할 것.
–
로그인 영역
헤더 로그인 버튼
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="#" data-toggle="modal" data-target="#sign-in-modal"><?php _e( '로그인', 'my-listing' ) ?></a>
<?php if (get_option( 'woocommerce_enable_myaccount_registration' ) === 'yes'): ?>
<span><?php _e( 'or', 'my-listing' ) ?></span>
<a href="#" data-toggle="modal" data-target="#sign-up-modal"><?php _e( '회원가입', 'my-listing' ) ?></a>
<?php endif ?>
</div>
<div class="mob-sign-in">
<a href="#" data-toggle="modal" data-target="#sign-in-modal"><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_attr( $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 ?>
138번째 줄의 ’Sign in’ 을 [로그인]으로,
141번째 줄의 ’Register’ 를 [회원가입]으로 수정
–
로그인 팝업
Partials -> account -> login-form.php 에서
<?php if (!class_exists('WooCommerce')) return; ?>
<div class="sign-in-box element">
<div class="title-style-1">
<i class="material-icons user-area-icon">person</i>
<h5><?php _e( '로그인', 'my-listing' ) ?></h5>
</div>
<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" value="<?php if ( ! empty( $_POST['username'] ) ) echo esc_attr( $_POST['username'] ); ?>" placeholder="<?php esc_attr_e( '이메일 주소', 'my-listing' ) ?>">
</div>
<div class="form-group">
<input type="password" name="password" id="password" placeholder="<?php esc_attr_e( '비밀번호', 'my-listing' ) ?>">
</div>
<?php do_action( 'woocommerce_login_form' ); ?>
<?php wp_nonce_field( 'woocommerce-login', 'woocommerce-login-nonce' ); ?>
<div class="form-group">
<button type="submit" class="buttons button-2 full-width" name="login" value="Login">
<?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 if ( ! empty( $_GET['redirect_to'] ) ): ?>
<input type="hidden" name="redirect" value="<?php echo esc_url( $_GET['redirect_to'] ) ?>">
<?php endif ?>
<?php do_action( 'woocommerce_login_form_end' ); ?>
<?php if ( get_option( 'woocommerce_enable_myaccount_registration' ) === 'yes' ) : ?>
<a href="#" class="c27-open-modal" data-target="#sign-up-modal"><i class="material-icons user-area-icon">person</i><?php _e( '어썸맵스 회원이 아니세요?', 'my-listing' ) ?></a>
<?php endif ?>
<div class="forgot-password">
<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><i class="material-icons">lock</i><?php _e( '비밀번호 찾기', 'my-listing' ); ?></a>
</div>
</form>
<?php c27()->get_partial( 'spinner', [
'color' => '#777',
'classes' => 'center-vh',
'size' => 24,
'width' => 2.5,
] ) ?>
</div>
6번째 줄의 ‘Sign in’ 을 [로그인]으로,
13번째 줄의 ‘User name’ 을 [이메일 주소] 로,
17번째 줄의 ‘Password’ 를 [비밀번호] 로,
26번째 줄의 ’Sign in’ 을 [로그인] 으로,
33번째 줄의 ‘Remember me’ 를 [아이디 저장] 으로,
45번째 줄의 ‘Don\’t have an account?’ 를 [어썸맵스 회원이 아니세요?] 로,
48번째 줄의 ‘Forgot password?’ 를 [비밀번호 찾기] 로 수정
–
회원가입 팝업
Partials -> account -> register-form.php 에서
<?php if (!class_exists('WooCommerce')) return; ?>
<div class="sign-in-box element">
<div class="title-style-1">
<i class="material-icons user-area-icon">person</i>
<h5><?php _e( '회원가입', 'my-listing' ) ?></h5>
</div>
<form class="sign-in-form register" method="POST" action="<?php echo esc_url( wc_get_page_permalink('myaccount') ) ?>">
<?php do_action( 'woocommerce_register_form_start' ); ?>
<?php if ( 'no' === get_option( 'woocommerce_registration_generate_username' ) ) : ?>
<div class="form-group">
<input type="text" name="username" id="reg_username" value="<?php if ( ! empty( $_POST['username'] ) ) echo esc_attr( $_POST['username'] ); ?>" placeholder="<?php esc_attr_e( 'Username', 'my-listing' ) ?>">
</div>
<?php endif; ?>
<div class="form-group">
<input type="email" name="email" id="reg_email" value="<?php if ( ! empty( $_POST['email'] ) ) echo esc_attr( $_POST['email'] ); ?>" placeholder="<?php esc_attr_e( '이메일 주소', 'my-listing' ) ?>">
</div>
<?php if ( 'no' === get_option( 'woocommerce_registration_generate_password' ) ) : ?>
<div class="form-group">
<input type="password" name="password" id="reg_password" placeholder="<?php esc_attr_e( '비밀번호', 'my-listing' ) ?>">
</div>
<?php endif; ?>
<!-- Spam Trap -->
<div style="<?php echo ( ( is_rtl() ) ? 'right' : 'left' ); ?>: -999em; position: absolute;"><label for="trap"><?php _e( 'Anti-spam', 'my-listing' ); ?></label><input type="text" name="email_2" id="trap" tabindex="-1" autocomplete="off" /></div>
<?php do_action( 'woocommerce_register_form' ); ?>
<!-- <div class="form-info">
<div class="md-checkbox">
<input id="i2" type="checkbox">
<label for="i2" class="">I agree to the <a href="#">Terms and Conditions</a></label>
</div>
</div> -->
<div class="form-group">
<?php wp_nonce_field( 'woocommerce-register', 'woocommerce-register-nonce' ); ?>
<button type="submit" class="buttons button-2 full-width" name="register" value="Register">
<?php _e( '회원가입', 'my-listing' ) ?>
</button>
</div>
<?php if ( ! empty( $_GET['redirect_to'] ) ): ?>
<input type="hidden" name="redirect" value="<?php echo esc_url( $_GET['redirect_to'] ) ?>">
<?php endif ?>
<?php do_action( 'woocommerce_register_form_end' ); ?>
<a href="#" class="c27-open-modal" data-target="#sign-in-modal"><?php _e( '어썸맵스 회원이라면?!', 'my-listing' ) ?></a>
</form>
<?php c27()->get_partial( 'spinner', [
'color' => '#777',
'classes' => 'center-vh',
'size' => 24,
'width' => 2.5,
] ); ?>
</div>
6번째 줄의 ‘Create an account’ 를 [회원가입] 으로,
19번째 줄의 ‘Email’ 을 [이메일 주소] 로,
24번째 줄의 ‘Password’ 를 [비밀번호] 로,
43번째 줄의 ‘Sign Up’ 을 [회원가입] 으로,
53번째 줄의 ‘Already Registered?’ 를 [어썸맵스 회원이라면?!] 으로 수정
–
SNS 로그인 관련
Includes -> extensions -> social login -> social login.php에서
116번째 줄의 “Or connect with” 를 [SNS 로그인] 으로 수정
Includes -> extensions -> social login -> networks -> google.php 에서
127번째 줄의 ‘Sign in with Google’ 을 [구글 계정으로 로그인] 으로 수정
Includes -> extensions -> social login -> networks -> facebook.php 에서
134번째 줄의 ‘Login with Facebook’ 를 [페이스북 계정으로 로그인] 으로 수정
–
메시지 관련
includes/extensions/messages/views/messages.php
<?php $compose_enabled = c27()->get_setting( 'messages_enable_compose', true ) !== false; ?>
<div id="ml-messages-modal" class="modal modal-27" role="dialog">
<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>
<div class="sign-in-box">
<div class="messaging-center" id="ml-message-btn">
<transition-group name="vopacity">
<compose v-if="chat.mode === 'compose'" :chat="chat" :key="'compose'"></compose>
<inbox v-else-if="chat.mode === 'inbox' || !chat.mode" :chat="chat" :key="'inbox'"></inbox>
<conversation v-else-if="chat.mode === 'conversation'" :chat="chat" :conversation="chat.conversation" :key="'conversation'"></conversation>
</transition-group>
</div>
</div>
</div>
</div>
</div>
<script type="text/html" id="ml-opponent-list">
<select name="test">
<slot></slot>
</select>
</script>
<script type="text/html" id="ml-compose-message">
<div id="compose-message" class="compose-message">
<div class="inbox-header">
<a href="#" class="go-back-btn" @click.prevent="inbox"><i class="material-icons">arrow_back</i></a>
<h4><?php esc_html_e('메시지', 'my-listing'); ?></h4>
<div class="clearfix"></div>
</div>
<div class="compose-contents">
<div class="select-user" v-if="!opponentId">
<select2 :chat="chat" :options="options" v-model="selected" :url="url">
<option disabled value="0"><?php esc_html_e('Select one', 'my-listing'); ?></option>
</select2>
</div>
</div>
</div>
</script>
<script type="text/html" id="ml-conversation-messages">
<ul class="messages-list">
<li v-for="message in messages" :class="conversationClass( message )">
<div class="chat-text">
<span class="chat-date">{{ timestamp( message.utime ) }}</span>
<a v-if="isPostAuthor(message)" href="#" class="avatar-img" :title="message.pdata.title">
<img :src="message.pdata.image" class="avatar avatar-96 photo" />
</a>
<a v-else href="#" class="avatar-img" v-html="senderAvatar(message)" :title="message.sender_name"></a>
<p v-html="linkify( message )"></p>
<a href="#" class="delete-chat" @click.stop.prevent="deleteMsg(message)" v-if="!message.loading">
<i class="material-icons">delete_outline</i>
</a>
</div>
<div class="chat-loader" v-if="message.loading">
<i :class="loadingClass(message)"></i>
</div>
<div class="delete-confirm-overlay" v-if="isDelete(message)">
<div class="action-controllers">
<p class="delete-msg">
<?php esc_html_e('이 메시지를 삭제하시겠습니까?', 'my-listing'); ?>
</p>
<a href="#" @click.stop.prevent="deleteMsg(message)">
<i class="material-icons">check</i> <?php esc_html_e('예', 'my-listing'); ?>
</a>
<a href="#" @click.stop.prevent="cancelDelete(message)">
<i class="material-icons">close</i> <?php esc_html_e('아니요', 'my-listing'); ?>
</a>
</div>
</div>
<div class="clearfix"></div>
</li>
<li class="avatar-container" v-if="!isMessages">
<?php esc_html_e( 'Say hello to', 'my-listing' ) ?>
<span v-if="chat.postData.id">{{chat.postData.title}}
<a :href="chat.postData.link" class="avatar-img">
<img :src="chat.postData.image" class="avatar avatar-96 photo" height="96" width="96" />
</a>
</span>
<span v-else>{{opponent.name}} <a href="#" class="avatar-img" v-html="opponent.avatar"></a></span>
</li>
</ul>
</script>
<script type="text/html" id="ml-conversation">
<div id="message-inbox-chat" class="message-inbox-chat">
<div class="inbox-header">
<a href="#" class="go-back-btn" @click.prevent="inbox()"><i class="material-icons">arrow_back</i></a>
<div class="inbox-avatar">
<span class="msg-listing-info" v-if="isPostAuthor()">
<div class="avatar-container">
<a :href="chat.postData.link" class="avatar-img">
<img :src="chat.postData.image" class="avatar avatar-96 photo" height="96" width="96" />
</a>
<h6><a :href="chat.postData.link">{{ chat.postData.title }}</a></h6>
</div>
</span>
<transition-group name="vopacity" v-else>
<div class="avatar-container" v-if="!init" :key="'loaded-convo'">
<a :href="opponent.uri" class="avatar-img" v-html="opponent.avatar"></a>
<h6><a :href="opponent.uri">{{ opponent.name }}</a></h6>
</div>
</transition-group>
</div>
<div class="inbox-actions">
<a href="#" class="delete-chat" @click.prevent="deleteConversation( chat.opponentId )"><i class="material-icons">delete_outline</i></a>
<a href="#" :class="{'block-chat': true, 'active': isBlocked()}" @click.stop.prevent="blockUser()" v-if="opponent.login">
<i class="material-icons" v-if="!blockRequest">block</i>
<i class="fa fa-refresh fa-spin" v-else></i>
</a>
</div>
<div class="clearfix"></div>
</div>
<div :class="{'inbox-chat-contents':true, '_loading': isLoading}">
<transition name="vopacity">
<div class="loading-more-messages" v-if="isLoading">
<div class="inner">
<i class="fa fa-refresh fa-spin"></i> <?php esc_html_e('Loading conversation', 'my-listing'); ?>
</div>
</div>
</transition>
<messages :conversation="conversation" :opponent="opponent" :chat="chat"></messages>
<div class="clearfix"></div>
<form @submit.prevent="send">
<textarea cols="30" :rows="rows" placeholder="<?php esc_html_e('메시지 보내기...', 'my-listing'); ?>" v-model="message" :maxlength="maxLength" @keyup.enter="send($event)" :disabled="disable" id="ml-conv-textarea"></textarea>
<button class="btn" @click.stop.prevent="send" :disabled="disable"><i class="material-icons">send</i></button>
<span class="user-blocked" v-if="isBlocked()"><?php esc_html_e( '이 회원을 차단했습니다.', "my-listing"); ?></span>
</form>
<div class="clearfix"></div>
</div>
<div class="delete-confirm-overlay" v-if="isBlockUser()">
<div class="action-controllers">
<p v-if="isBlocked()">
<?php esc_html_e('차단을 해제하시겠습니까?', 'my-listing'); ?>
</p>
<p v-else>
<?php esc_html_e('이 회원을 차단하시겠습니까?', 'my-listing'); ?>
</p>
<a href="#" @click.stop.prevent="blockUser()">
<i class="material-icons">check</i> <?php esc_html_e('예', 'my-listing'); ?>
</a>
<a href="#" @click.stop.prevent="cancelBlock()">
<i class="material-icons">close</i> <?php esc_html_e('아니요', 'my-listing'); ?>
</a>
</div>
</div>
<div class="delete-confirm-overlay" v-if="isDelete(opponent.id)">
<div class="action-controllers">
<p><?php esc_html_e('채팅방에서 나가시겠습니까?', 'my-listing'); ?></p>
<a href="#" @click.stop.prevent="deleteConversation()">
<i class="material-icons">check</i> <?php esc_html_e('예', 'my-listing'); ?>
</a>
<a href="#" @click.stop.prevent="cancelDelete(message)">
<i class="material-icons">close</i> <?php esc_html_e('아니요', 'my-listing'); ?>
</a>
</div>
</div>
</div>
</script>
<script type="text/html" id="ml-inbox-messages">
<ul v-if="$root.modal_open">
<li v-for="message in messageList" @click.prevent="open(message.data)" :class="{'unread-message': !message.seen}">
<div class="inbox-avatar">
<a v-if="isPostAuthor(message.data)" :href="message.data.pdata.link">
<img :src="message.data.pdata.image" class="avatar avatar-96 photo" />
</a>
<a v-else :href="message.data.op.uri" v-html="message.data.op.avatar"></a>
</div>
<div class="message">
<h6 v-if="isPostAuthor(message.data)">
<a :href="message.data.pdata.link">{{message.data.pdata.title}}</a>
</h6>
<h6 v-else>
<a :href="message.data.op.uri">{{ opponentInfo( message.data ) }}</a>
<span v-if="parseInt( message.data.pid )">
<span class="to-string"><?php esc_html_e('to', 'my-listing'); ?></span>
<a :href="message.data.pdata.link" class="message-listing-origin">
<img :src="message.data.pdata.image" class="avatar avatar-96 photo" />
<span>{{message.data.pdata.title}}</span>
</a>
</span>
</h6>
<p>{{ message.data.message }}</p>
</div>
<div class="date-action">
<p class="date">{{ timestamp( message.data.utime ) }}</p>
<a href="#" class="action" @click.stop.prevent="deleteConversation(message.data, $event)">
<i class="material-icons">delete_outline</i>
</a>
</div>
<div class="delete-confirm-overlay" v-if="isDelete(message)">
<div class="action-controllers">
<p><?php esc_html_e('채팅방에서 나가시겠습니까?', 'my-listing'); ?></p>
<a href="#" @click.stop.prevent="deleteConversation(message.data)">
<i class="material-icons">check</i> <?php esc_html_e('예', 'my-listing'); ?>
</a>
<a href="#" @click.stop.prevent="cancelDelete(message)"><i class="material-icons">close</i> <?php esc_html_e('아니요', 'my-listing'); ?></a>
</div>
</div>
</li>
</ul>
</script>
<script type="text/html" id="ml-inbox">
<div id="message-inbox" class="message-inbox">
<div class="inbox-header">
<h4><?php esc_html_e('메시지', 'my-listing'); ?></h4>
<?php if ( $compose_enabled ): ?>
<a href="#" class="compose-btn btn-primary" @click.prevent="compose"><?php esc_html_e('회원선택', 'my-listing'); ?></a>
<?php endif ?>
<div class="clearfix"></div>
</div>
<div class="inbox-contents">
<messages :chat="chat" :isLoading="isLoading" v-if="isMessages"></messages>
<div class="inbox-contents empty-inbox" v-else>
<p v-if="isLoading"><i class="fa fa-refresh"></i><?php esc_html_e('Loading Inbox', 'my-listing'); ?></p>
<p v-else><?php esc_html_e('새로운 메시지가 없습니다. 회원을 선택 후 메시지를 보내보세요.', 'my-listing'); ?></p>
<div class="clearfix"></div>
</div>
<!-- Pagination -->
<div class="load-more-msgs" v-if="loadMoreBtn && !loading" @click.prevent="loadMore">
<?php esc_html_e( 'Load More Messages', 'my-listing' ) ?>
</div>
<div class="load-more-msgs" v-if="loadMoreBtn && loading">
<i class="fa fa-circle-o-notch fa-spin"></i>
<?php esc_html_e( 'Loading', 'my-listing' ) ?>
</div>
</div>
<?php if ( $compose_enabled ): ?>
<a href="#" class="compose-btn compose-btn-mobile btn-primary" @click.prevent="compose"><?php esc_html_e('회원선택', 'my-listing'); ?></a>
<?php endif ?>
</div>
</script>
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” 를 “회원선택”으로 수정
–
검색창
Partials -> quick-search.php 에서
21번째 줋의 “View all results” 를 [전체보기] 로,
24번째 줄의 “No results” 를 [검색결과 없음] 으로
37번째 줄의 “Featured” 를 [추천] 으로 변경
Partials -> search-form.php 에서
46번째 줄의 “Search” 를 [검색] 으로 변경
includes/src/queries/quick-search.php 에서
22번째 줄의 “Categories” 를 [카테고리] 로
72번째 줄의 ‘Regions’을 [국가]로 수정
–
Explore
templates/explore/regular.php 에서
51번째 줄의 “Map view” 를 “지도 보기” 로 변경
63번째 줄의 “There are no listings matching your search” 를 “등록된 리스팅이 없습니다.” 로 변경
97번째 줄의 “List view” 를 “리스트 보기” 로 변경
templates/explore/partials/mobile-nav.php 에서
6번째 줄의 “List view” 를 “리스트 보기” 로 변경
14번째 줄의 “Map view” 를 “지도 보기” 로 변경
–
리뷰
includes/extensions/reviews/reviews.php 에서
381번째 줄의 “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” -> “등록” 로 변경
–
영업시간
templates/single-listing/content-blocks/work-hours-block.php 에서
34번째 줄의 “Toggle weekly schedule” -> “영업시간 펼치기” 로 변경,
54번째 줄의 “Local time” -> “*현지 시간*” 으로 변경
–
리스팅 등록
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를 “리스팅 등록하기” 로 변경
/templates/add-listing/choose-package.php
131번째 줄 -> “Buy Package”를 “리스팅 등록 및 패키지 구입” 으로 변경
/includes/src/paid-listings/controllers/add-listing.php
106번째줄-> “Choose a Package” 를 “패키지 선택”으로 변경
/includes/src/claims/claim-listing-form.php
179번째줄-> “Choose a Package” 를 “리스팅 구입”으로 변경
180번째줄-> “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” 를 “주변의 추천 장소” 로 변경