{"id":1241,"date":"2025-01-14T21:16:17","date_gmt":"2025-01-14T13:16:17","guid":{"rendered":"https:\/\/wadevape.com\/?page_id=1241"},"modified":"2025-12-23T12:15:16","modified_gmt":"2025-12-23T04:15:16","slug":"package-tracking","status":"publish","type":"page","link":"https:\/\/wadevape.com\/pl\/package-tracking\/","title":{"rendered":"\u015aledzenie paczki"},"content":{"rendered":"\n\n\t<section class=\"section\" id=\"section_37782173\">\n\t\t<div class=\"section-bg fill\" >\n\t\t\t\t\t\t\t\t\t<div class=\"effect-snow bg-effect fill no-click\"><\/div>\n\t\t\t\n\n\t\t<\/div>\n\n\t\t\n\n\t\t<div class=\"section-content relative\">\n\t\t\t\n\n<div class=\"row\"  id=\"row-463169007\">\n\n\n\t<div id=\"col-2105067760\" class=\"col medium-6 small-12 large-6\"  >\n\t\t\t\t<div class=\"col-inner\"  >\n\t\t\t\n\t\t\t\n\n<h2><strong>Logistics tracking number:<\/strong><\/h2>\n\n\n<div>\n  <div class=\"track-main\">\n    <div class=\"track-form\">\n      <input id=\"inputNo\" class=\"track-input\" type=\"text\" placeholder=\"Please fill in Logistics tracking number\" \/>\n      <span id=\"checkButton\" class=\"track-button\">Track<\/span>\n    <\/div>\n  <\/div> \n  \n  \n    <div id=\"trackingResults\" class=\"track-result\">\n    <\/div>\n    \n    <div class=\"lang-switch\">\n        <span>Language: <\/span>\n        <a class=\"ignore\" href=\"javascript:translate.changeLanguage('english');\">English<\/a> |\n        <a class=\"ignore\" href=\"javascript:translate.changeLanguage('deutsch');\">Deutsch<\/a> |\n        <a class=\"ignore\" href=\"javascript:translate.changeLanguage('french');\">Fran\u00e7ais<\/a> |\n        <a class=\"ignore\" href=\"javascript:translate.changeLanguage('spanish');\">Espa\u00f1ol<\/a> |\n        <a class=\"ignore\" href=\"javascript:translate.changeLanguage('italian');\">Italiano<\/a> |\n        <a class=\"ignore\" href=\"javascript:translate.changeLanguage('swedish');\">Svenska<\/a> |\n        <a class=\"ignore\" href=\"javascript:translate.changeLanguage('dutch');\">Nederlands<\/a> |\n        <a class=\"ignore\" href=\"javascript:translate.changeLanguage('japanese');\">\u65e5\u672c\u8a9e\u306b\u307b\u3093\u3054\/\u306b\u3063\u307d\u3093\u3054<\/a> |\n        <a class=\"ignore\" href=\"javascript:translate.changeLanguage('chinese_simplified');\">\u7b80\u4f53\u4e2d\u6587<\/a>\n    <\/div>\n\n<\/div>\n\n\n<script>\n\n    \/\/ \u9ed8\u8ba4\u8bed\u8a00\n    let currentLanguage = localStorage.getItem('Language') || 'en';\n\n\n    function delUrlParam(param) {\n        let obj = new window.URL(window.location.href);\n        obj.searchParams.delete(param);\n        return obj.href;\n    }\n    \n    function addUrlParam(key, value) {\n        let obj = new window.URL(window.location.href);\n        obj.searchParams.set(key, value);\n        return obj.href;\n    }\n\n    function addLinksToText(text) {\n      const regex = new RegExp(\"(https?:\/\/[^s]+)\", \"g\");\n        \n        return text.replace(regex, function(match) {\n            return `<a style=\"color: blue\" href=\"${match}\" target=\"_blank\">${match}<\/a>`;\n        });\n    }\n    \n    function performTrackingQuery(trackingNumber) {\n        jQuery('#trackingResults').html(`\n            <p>Checking. Please wait....<\/p>\n        `);\n        \/\/ \u53d1\u9001\u67e5\u8be2\u8bf7\u6c42\u5230\u670d\u52a1\u5668\uff0c\u83b7\u53d6\u7269\u6d41\u4fe1\u606f\n        jQuery.ajax({\n            url: '\/wp-json\/api\/v1\/tracking\/' + trackingNumber,\n            method: 'GET',\n            success: async function(response) {\n                const list = JSON.parse(response);\n\n                \/\/ \u521d\u59cb\u5316 HTML \u5b57\u7b26\u4e32\n                var html = `<ul class=\"track-list\">`;\n\n                \/\/ \u5c06\u6240\u6709\u9879\u5148\u663e\u793a\u51fa\u6765\n                list.forEach(function(item, index) {\n                    html += `\n                        <li id=\"track-item-${index}\">\n                            <span class='time'>${item.time}<\/span>\n                            <span class='location' id='location-${index}'>Translating...<\/span>\n                            <span class='detail' id='detail-${index}'>Translating...<\/span>\n                        <\/li>`;\n                });\n\n                \/\/ \u7ed3\u675f\u5217\u8868\n                html += `<\/ul>`;\n\n                \/\/ \u5c06 HTML \u63d2\u5165\u5230\u9875\u9762\u4e2d\n                jQuery('#trackingResults').html(html);\n\n                \/\/ \u6279\u91cf\u7ffb\u8bd1\u5e76\u66f4\u65b0\u5185\u5bb9\n                 translateAndUpdateBatch(list);\n            },\n            error: function() {\n                jQuery('#trackingResults').html(`\n                    <p>\u67e5\u8be2\u51fa\u9519\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002<\/p>\n                `);\n            }\n        });\n    }\n\n\n    \/\/ \u6279\u91cf\u7ffb\u8bd1\u6587\u672c\u7684\u51fd\u6570\u5e76\u66f4\u65b0\u9875\u9762\n    async function translateAndUpdateBatch(list) {\n        try {\n            const textsToTranslate = list.flatMap(item => [item.location, item.detail]);\n            const translatedTexts = await translateTexts(textsToTranslate);\n\n            list.forEach(function(item, index) {\n                jQuery(`#location-${index}`).html(translatedTexts[index * 2]);\n                jQuery(`#detail-${index}`).html(addLinksToText(translatedTexts[index * 2 + 1]));\n            });\n        } catch (error) {\n            console.error('Translation error:', error);\n            list.forEach(function(item, index) {\n                jQuery(`#location-${index}`).html(item.location);\n                jQuery(`#detail-${index}`).html(addLinksToText(item.detail));\n            });\n        }\n    }\n\n\n    var translate = {\n        changeLanguage:  function(language) {\n            const languageMap = {\n                'english': 'en',\n                'deutsch': 'de',\n                'french': 'fr',\n                'spanish': 'es',\n                'italian': 'it',\n                'swedish': 'sv',\n                'dutch': 'nl',\n                'chinese_simplified': 'zh-Hans'\n            };\n            currentLanguage = languageMap[language] || 'en';\n            localStorage.setItem('Language', currentLanguage);\n            \/\/ \u91cd\u65b0\u6267\u884c\u67e5\u8be2\u4ee5\u66f4\u65b0\u7ffb\u8bd1\n            const list = jQuery('.track-list li').map(function(index, element) {\n                return {\n                    location: jQuery(`#location-${index}`).text(),\n                    detail: jQuery(`#detail-${index}`).text()\n                };\n            }).get();\n\n            if (list.length > 0) {\n                 list.forEach(function(item, index) {\n                    jQuery(`#location-${index}`).html('Translating...');\n                    jQuery(`#detail-${index}`).html('Translating...');\n                });\n                 translateAndUpdateBatch(list);\n            }\n        }\n    };\n    \n    async function translateTexts(texts) {\n        try {\n            const accessToken = await getAccessToken();\n            const response = await fetch(`https:\/\/api.cognitive.microsofttranslator.com\/translate?api-version=3.0&to=${currentLanguage}`, {\n                method: 'POST',\n                headers: {\n                    'Content-Type': 'application\/json',\n                    'Authorization': `Bearer ${accessToken}`,\n                },\n                body: JSON.stringify(texts.map(text => ({ 'Text': text })))\n            });\n\n            const data = await response.json();\n            return data.map(item => item.translations[0].text);\n        } catch (error) {\n            console.error('Translation error:', error);\n            return texts; \/\/ \u5982\u679c\u7ffb\u8bd1\u5931\u8d25\uff0c\u8fd4\u56de\u539f\u59cb\u6587\u672c\u6570\u7ec4\n        }\n    }\n\n    async function getAccessToken() {\n        const response = await fetch('https:\/\/edge.microsoft.com\/translate\/auth');\n        const token = await response.text();\n        return token;\n    }\n    \n    \n    \n    jQuery(document).ready(function() {\n        \/\/ \u83b7\u53d6 URL \u4e2d\u7684\u53c2\u6570\n        var urlParams = new URLSearchParams(window.location.search);\n        var trackingNumber = urlParams.get('no');\n\n        if (trackingNumber) {\n            \/\/ \u8bbe\u7f6e\u8ffd\u8e2a\u53f7\u7801\u5230\u8f93\u5165\u6846\n            jQuery('#inputNo').val(trackingNumber);\n\n            \/\/ \u6267\u884c\u67e5\u8be2\u64cd\u4f5c\n            performTrackingQuery(trackingNumber);\n        }\n\n          \n        jQuery('#checkButton').click(function() {\n            var trackingNumber = jQuery('#inputNo').val();\n            console.log(trackingNumber);\n\n            if (trackingNumber.trim() !== '') {\n                history.pushState({}, 0, delUrlParam('no')); \n                history.pushState({}, 0, addUrlParam('no', trackingNumber));\n                performTrackingQuery(trackingNumber);\n            } else {\n                alert('Please enter the tracking number\uff01');\n            }\n        });\n\n        \n    });\n    \n\n<\/script>\n\n<style>\n\n#main  .lang-switch a{\n  color: #2196F3 !important;\n}\n\n#main  .lang-switch {\n  margin: 10px 0;\n}\n \n \n\n#main .track-form {\n  display: flex;\n}\n#main .track-input {\n  width: 100%;\n  height: auto;\n  margin: 0;\n  border: 1px solid #f4f4f4;\n  padding: 0 10px;\n}\n#main .track-button {\n  background: #17ef97;\n  padding: 4px 50px;\n  color: #000;\n  font-weight: 500;\n  line-height: 3;    cursor: pointer;\n}\n\n\/* \u9ed8\u8ba4\u6837\u5f0f\uff0c\u9002\u7528\u4e8e\u684c\u9762\u7aef\u8bbe\u5907 *\/\n#main .track-list {\n  padding: 0;\n  margin: 0;\n  list-style-type: none;\n}\n\n#main  .track-list li {\n  padding: 10px 15px 10px 45px; \/* \u589e\u52a0\u5de6\u53f3\u5185\u8fb9\u8ddd\uff0c\u63d0\u9ad8\u89e6\u63a7\u533a *\/\n  border-color: 1px solid #EBEAEB !important;\n  font-size: 16px; \/* \u9ed8\u8ba4\u5b57\u4f53\u5927\u5c0f *\/\n  position: relative;\n}\n\n\n#main   .track-list li::before {\n    content: '';\n    display: inline-block;\n    width: 10px;\n    height: 10px;\n    border-radius: 50%; \/* \u5706\u5f62 *\/\n    background-color: #a4a4a4; \/* \u9ed1\u8272 *\/\n    margin-right: 10px; \/* \u5706\u5f62\u548c\u6587\u672c\u4e4b\u95f4\u7684\u95f4\u8ddd *\/\n    position: absolute;\n    left: 5px;\n    top: 50%;\n  }\n  .track-list li:first-child::before {\n    background-color: #17ef97;\n  animation: glowGreen 1.5s ease-in-out infinite; \/* \u7eff\u8272\u5706\u5f62\u5149\u6548\u52a8\u753b *\/\n  }\n\n#main .track-list .time {\n   display: block;\n  font-weight: bold;\n}\n\n#main .track-list .location {\n   display: block;\n}\n\n#main .track-list .detail {\n   display: block;\n  word-wrap: break-word; \/* \u9632\u6b62\u957f\u5355\u8bcd\u6216\u8005URL\u6ea2\u51fa *\/\n}\n\n#main .track-list .detail a {\n  color: #00c7ff !important; \/* \u94fe\u63a5\u7684\u989c\u8272\u4fdd\u6301\u4e00\u81f4 *\/\n  text-decoration: none; \/* \u53bb\u9664\u94fe\u63a5\u7684\u4e0b\u5212\u7ebf *\/\n}\n\n\/* \u79fb\u52a8\u7aef\u6837\u5f0f *\/\n@media (max-width: 768px) {\n  .track-list li {\n    flex-direction: column; \/* \u5217\u8868\u9879\u5782\u76f4\u6392\u5217 *\/\n     padding: 10px 0 10px 30px; \/* \u589e\u52a0\u5185\u8fb9\u8ddd\uff0c\u63d0\u9ad8\u89e6\u63a7\u533a\u57df *\/\n  }\n\n  \/* \u5728\u5c0f\u5c4f\u5e55\u4e0b\uff0ctime \u548c location \u653e\u5728\u540c\u4e00\u884c\uff0cdetail \u5728\u4e0b\u65b9 *\/\n  .track-list .time,\n  .track-list .location {\n    width: 100%;\n    display: block;\n  }\n\n  .track-list .detail {\n    width: 100%; \/* detail \u5360\u6ee1\u5269\u4f59\u5bbd\u5ea6 *\/\n    margin-top: 10px; \/* \u589e\u52a0\u4e0e\u4e0a\u4e00\u884c\u7684\u95f4\u8ddd *\/\n  }\n\n  .track-list .time,\n  .track-list .location {\n    font-size: 14px; \/* \u8c03\u6574\u5b57\u4f53\u5927\u5c0f\u9002\u5e94\u5c0f\u5c4f *\/\n  }\n\n  .track-list .detail {\n    font-size: 14px;\n  }\n}\n\n\n\n\/* \u7eff\u8272\u5706\u5f62\u5149\u6548\u52a8\u753b *\/\n@keyframes glowGreen {\n  0% {\n    box-shadow: 0 0 5px #17ef97, 0 0 15px #17ef97, 0 0 20px #17ef97;\n  }\n  50% {\n    box-shadow: 0 0 10px #17ef97, 0 0 25px #17ef97, 0 0 30px #0f0;\n  }\n  100% {\n    box-shadow: 0 0 5px #17ef97, 0 0 15px #17ef97, 0 0 20px #17ef97;\n  }\n}\n\n\n<\/style>\n\n\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\n\n\t<div id=\"col-696785991\" class=\"col medium-6 small-12 large-6\"  >\n\t\t\t\t<div class=\"col-inner\"  >\n\t\t\t\n\t\t\t\n\n<h2 class=\"text-lg mb-2\"><strong>&#8211; FAQ:<\/strong><\/h2>\n<ul>\n<li class=\"mb-4\"><b>Why can&#8217;t I check the logistics information?<\/b>\n<p class=\"opacity-80\">The tracking number is wrong or the courier has just been sent out and the courier company hasn&#8217;t updated it yet.<\/p>\n<\/li>\n<li class=\"mb-4\"><b>How long does shipping take?<\/b>\n<p class=\"opacity-80\">This is usually 7-15 working days, and may take up to 20 working days during public holidays or inclement weather conditions.<\/p>\n<\/li>\n<li class=\"mb-4\"><b>Why does the state stay the same?<\/b>\n<p class=\"opacity-80\">Please be patient as it may be due to public holidays, fewer flights, very high volume of cargo, or strict customs regulations.<\/p>\n<\/li>\n<li><b>Signed for, but not received?<\/b>\n<p class=\"opacity-80\">Please contact our customer service.<\/p>\n<\/li>\n<\/ul>\n\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t\n\n\n<style>\n#row-463169007 > .col > .col-inner {\n  padding: 0px 0px 600px 0px;\n}\n<\/style>\n<\/div>\n\n\t\t<\/div>\n\n\t\t\n<style>\n#section_37782173 {\n  padding-top: 30px;\n  padding-bottom: 30px;\n  background-color: rgb(200, 230, 250);\n}\n<\/style>\n\t<\/section>\n\t\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_analysis_target_kw":"","footnotes":""},"class_list":["post-1241","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/wadevape.com\/pl\/wp-json\/wp\/v2\/pages\/1241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wadevape.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wadevape.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wadevape.com\/pl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wadevape.com\/pl\/wp-json\/wp\/v2\/comments?post=1241"}],"version-history":[{"count":30,"href":"https:\/\/wadevape.com\/pl\/wp-json\/wp\/v2\/pages\/1241\/revisions"}],"predecessor-version":[{"id":6890,"href":"https:\/\/wadevape.com\/pl\/wp-json\/wp\/v2\/pages\/1241\/revisions\/6890"}],"wp:attachment":[{"href":"https:\/\/wadevape.com\/pl\/wp-json\/wp\/v2\/media?parent=1241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}