コード例 #1
0
 public function wskl_indirect_ship_track()
 {
     $slug = isset($_GET['agent']) ? esc_textarea($_GET['agent']) : '';
     $number = isset($_GET['number']) ? esc_textarea($_GET['number']) : '';
     $agent = WSKL_Agent_Helper::get_tracking_number_agent_by_slug($slug);
     if ($agent && !empty($number)) {
         /** @noinspection PhpIncludeInspection */
         include "track-template-{$slug}.php";
     }
     die;
 }
<h2>택배사별 송장 확인</h2>


<?php 
/** @var array $agents */
foreach ($agents as $agent_slug => $test_numbers) {
    ?>

  <?php 
    $agent = WSKL_Agent_Helper::get_tracking_number_agent_by_slug($agent_slug);
    ?>

  <?php 
    if ($agent) {
        ?>

    <h3><?php 
        echo $agent->get_name();
        ?>
</h3>
    <ul>
      <?php 
        foreach ($test_numbers as $t) {
            ?>
        <li>
          <a href="<?php 
            echo esc_attr($agent->get_url_by_tracking_number($t));
            ?>
" target="_blank">
            <?php 
            echo $t;
 public function init_substitute(WC_Order $order = NULL, WP_User $user = NULL)
 {
     if (!$order && !$user) {
         throw new LogicException('Either $order, or $user should not be null!');
     }
     $this->order = $order;
     $this->user = $user;
     $order_magic_texts = $this->get_order_magic_texts();
     foreach ($order_magic_texts as $key => $item) {
         $this->find[$key] = $item['find'];
         switch ($key) {
             case 'blog-name':
             case 'site-title':
                 $this->replace[$key] = $item['replace'];
                 break;
             case 'order-content':
                 $this->replace[$key] = $order ? wskl_get_order_item_description($order, 10) : '';
                 break;
             case 'order-date':
                 $this->replace[$key] = $order ? date_format(date_create($order->order_date), 'Y-m-d H:i:s') : '';
                 break;
             case 'order-id':
                 $this->replace[$key] = $order ? $order->id : '';
                 break;
             case 'order-number':
                 $this->replace[$key] = $order ? $order->get_order_number() : '';
                 break;
             case 'order-total':
                 $this->replace[$key] = $order ? sprintf(get_woocommerce_price_format(), get_woocommerce_currency_symbol(''), $order->order_total) : '';
                 break;
             case 'tracking-number':
                 $delivery_agent = get_post_meta($order->id, 'wskl-delivery-agent', TRUE);
                 $tracking_number = get_post_meta($order->id, 'wskl-tracking-number', TRUE);
                 if ($delivery_agent && !empty($delivery_agent) && $tracking_number && !empty($tracking_number)) {
                     $agent = WSKL_Agent_Helper::get_tracking_number_agent_by_slug($delivery_agent);
                     if ($agent) {
                         $this->replace[$key] = __('배송정보', 'wskl') . ': ' . "{$agent->get_name()} {$tracking_number}";
                     }
                 }
                 break;
             case 'order-status':
                 $this->replace[$key] = $order ? $order->status : '';
                 break;
         }
     }
     if (isset($this->find['order:custom'])) {
         unset($this->find['order:custom']);
     }
     $user_magic_texts = $this->get_user_magic_texts();
     foreach ($user_magic_texts as $key => $item) {
         $this->find[$key] = $item['find'];
         switch ($key) {
             case 'user-email':
                 $this->replace[$key] = $user ? $user->user_email : '';
                 break;
             case 'user-id':
                 $this->replace[$key] = $user ? $user->ID : '';
                 break;
             case 'user-login':
                 $this->replace[$key] = $user ? $user->user_login : '';
                 break;
         }
     }
     if (isset($this->find['user:custom'])) {
         unset($this->find['user:custom']);
     }
 }
コード例 #4
0
<?php

// agent helper added
$agents = WSKL_Agent_Helper::get_agent_list();
$agents_keys = array_keys($agents);
$agent_default = $agents_keys[0];
// members description
$members_description = __('회원 등록, 탈퇴 기능을 제공합니다. 상품 페이지의 배송과 환불의 약관도 간편히 작성할 수 있습니다.', 'wskl');
$members_description .= '<br />';
$members_description .= wskl_inform_plugin_dependency('enable_dabory_members', __('WP-Members 플러그인(무료)', 'wskl'), 'https://wordpress.org/plugins/wp-members/', __('다보리 멤버스 설정으로 이동', 'wskl'), wskl_wp_members_url());
$sms_description = __('문자 메시지를 보낼 수 있습니다!', 'wskl');
$sms_description .= '<br />' . wskl_inform_plugin_dependency('enable_dabory_sms', '', '', __('※ 다보리 SMS 설정으로 이동', 'wskl'), wskl_dabory_sms_url());
$convenience_features = array('title' => __('편의기능(C)', 'wskl'), 'description' => __('배송회사와의 송장번호를 통하여 연결을 할 수 있도록 합니다.</br>아래에서 사용 택배회사가 없을 경우 service@econoq.co.kr 로 메일 주시면 추가해드리겠습니다.', 'wskl'), 'fields' => array(array('id' => 'enable_ship_track', 'label' => __('배송 추적 기능 활성화', 'wskl'), 'description' => __('배송 추적 기능 사용여부를 설정합니다.', 'wskl'), 'type' => 'checkbox', 'default' => ''), array('id' => 'shipping_companies', 'label' => __('배송회사 지정', 'wskl'), 'description' => __('사용중인 배송회사를 지정해 주십시오.', 'wskl'), 'type' => 'checkbox_multi', 'options' => $agents, 'data' => get_option('shipping_companies'), 'default' => $agents[$agent_default]), array('id' => 'enable_direct_purchase', 'label' => __('바로구매 버튼 사용', 'wskl'), 'description' => __('바로구매 버튼을 사용합니다.', 'wskl'), 'type' => 'checkbox', 'default' => ''), array('id' => 'enable_dabory_members', 'label' => __('다보리 멤버스 활성화', 'wskl'), 'description' => $members_description, 'type' => 'checkbox', 'default' => ''), array('id' => 'enable_dabory_sms', 'label' => __('SMS 기능 활성화', 'wskl'), 'description' => $sms_description, 'type' => 'checkbox', 'default' => ''), array('id' => 'hide_product_review_tab', 'label' => __('상품 리뷰 숨김', 'wskl'), 'description' => __('상품 페이지의 리뷰 탭을 보이지 않게 합니다.', 'wskl'), 'type' => 'checkbox', 'default' => ''), array('id' => 'thankyou_page_title_text', 'label' => __('주문 완료 페이지 제목 변경', 'wskl'), 'description' => __('<br/>주문 완료 페이지의 제목을 변경할 수 있습니다. 기본값은 포스트 제목입니다. 기본값을 쓰려면 칸을 비워 두세요.<br/>예) 주문이 완료되었습니다.', 'wskl'), 'type' => 'text', 'default' => ''), array('id' => 'woocommerce_thankyou_text', 'label' => __('주문 완료 페이지 감사 메시지', 'wskl'), 'description' => __('주문 완료 페이지에 고객에게 전달할 간단한 메시지를 작성할 수 있습니다. 몇몇 html 태그를 사용할 수도 있습니다.', 'wskl') . '<br />' . esc_html__('예) <p><h5>주문에 감사드리며 항상 정성을 다하겠습니다!</h5></p>', 'wskl'), 'type' => 'textarea', 'default' => ''), array('id' => 'enable_bacs_callback', 'label' => __('무통장입금 자동확인', 'wskl'), 'description' => __('기능을 사용하려면 플러그인 제작사와 상의해주십시요.', 'wskl'), 'type' => 'checkbox', 'default' => '')));
return $convenience_features;
 function track_page_shipping_details($order)
 {
     $current_agent_slug = esc_html(get_post_meta($order->id, 'wskl-delivery-agent', TRUE));
     $current_tracking_number = esc_html(get_post_meta($order->id, 'wskl-tracking-number', TRUE));
     $agent = WSKL_Agent_Helper::get_tracking_number_agent_by_slug($current_agent_slug);
     if ($agent) {
         $tracking_url = esc_attr(sprintf($agent->get_query_url_template(), $current_tracking_number));
         printf('<h3>%s%s</h3>', $agent->get_name(), __("로 배송이 되었습니다.", 'sym-shipping-tracking'));
         printf('<p class="order-again"><strong>송장번호: %s</strong><a href="%s" class="button" target="_blank">배송확인</a></p>', $current_tracking_number, $tracking_url);
     }
 }