{"id":7775,"date":"2024-04-09T08:50:31","date_gmt":"2024-04-09T08:50:31","guid":{"rendered":"https:\/\/dogevape.com\/orders-tracking\/"},"modified":"2026-08-25T08:07:52","modified_gmt":"2026-08-25T08:07:52","slug":"orders-tracking","status":"publish","type":"page","link":"https:\/\/dogevape.com\/orders-tracking\/","title":{"rendered":"Orders Tracking"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7775\" class=\"elementor elementor-7775\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0dc9e6e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0dc9e6e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ae8e456\" data-id=\"ae8e456\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-05eae8c elementor-widget elementor-widget-html\" data-id=\"05eae8c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"orders-tracking\">\r\n\t<div class=\"woo-orders-tracking-preview-shortcode-template-one\">\r\n\t\t<div\r\n\t\t\tclass=\"woo-orders-tracking-shortcode-timeline-wrap-template-one woo-orders-tracking-shortcode-timeline-wrap woo-orders-tracking-most-recent-to-oldest\">\r\n\t\t\t<h2 class=\"woo-orders-tracking-shortcode-timeline-title\"><span style=\"vertical-align: inherit;\">Logistics\r\n\t\t\t\t\ttracking number<\/span><\/h2>\r\n\t\t\t\n        <link rel=\"stylesheet\" id=\"vi-wot-tracking-more-form-css\" href=\"\/wp-content\/plugins\/woocommerce-orders-tracking\/assets\/css\/tracking-more-form.css?ver=1.1.11\" media=\"all\">\n        <link rel=\"stylesheet\" type=\"text\/css\" href=\"\/\/s.trackingmore.com\/plugins\/v1\/plugins.css?time=20190110\">\n    \r\n\t\t\t<div class=\"elementor-element elementor-element-edit-mode elementor-element-6c75987 elementor-element--toggle-edit-tools elementor-widget elementor-widget-shortcode ui-resizable elementor-element-editable\"\r\n\t\t\t\tdata-id=\"6c75987\" data-element_type=\"widget\" data-model-cid=\"c5273\"\r\n\t\t\t\tdata-widget_type=\"shortcode.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-shortcode\">\r\n\t\t\t\t\t\t<div class=\"woo-orders-tracking-trackingmore-form-shortcode-container\">\r\n\t\t\t\t\t\t\t<form role=\"form\" action=\"\/\/track.trackingmore.com\" method=\"get\">\r\n\t\t\t\t\t\t\t\t<div class=\"TM_input-group\"><input id=\"button_tracking_number\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"TM_my_search_input_style\" autocomplete=\"off\" maxlength=\"100\"\r\n\t\t\t\t\t\t\t\t\t\tname=\"button_tracking_number\" type=\"text\" value=\"\"\r\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Please enter your tracking number.\" \/>\r\n\t\t\t\t\t\t\t\t\t<span class=\"TM_input-group-btn\">\r\n\t\t\t\t\t\t\t\t\t\t<button id=\"checkButton\" class=\"TM_my_search_button_style\"\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\">Track<\/button>\r\n\t\t\t\t\t\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t<input name=\"lang\" type=\"hidden\" value=\"en\" \/>\r\n\t\t\t\t\t\t\t\t<input id=\"button_express_code\" name=\"lang\" type=\"hidden\" value=\"\" \/>\r\n\t\t\t\t\t\t\t<\/form>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"ui-resizable-handle ui-resizable-e\" style=\"z-index: 90;\"><\/div>\r\n\t\t\t\t\t<div class=\"ui-resizable-handle ui-resizable-w\" style=\"z-index: 90;\"><\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"lang-switch\">\r\n\t\t\t\t\t<span>Language: <\/span>\r\n\t\t\t\t\t<a class=\"ignore\" href=\"javascript:translate.changeLanguage('english');\">English<\/a>\r\n\t\t\t\t\t|\r\n\t\t\t\t\t<a class=\"ignore\" href=\"javascript:translate.changeLanguage('deutsch');\">Deutsch<\/a>\r\n\t\t\t\t\t|\r\n\t\t\t\t\t<a class=\"ignore\" href=\"javascript:translate.changeLanguage('french');\">Fran\u00e7ais<\/a>\r\n\t\t\t\t\t|\r\n\t\t\t\t\t<a class=\"ignore\" href=\"javascript:translate.changeLanguage('spanish');\">Espa\u00f1ol<\/a>\r\n\t\t\t\t\t|\r\n\t\t\t\t\t<a class=\"ignore\" href=\"javascript:translate.changeLanguage('italian');\">Italiano<\/a>\r\n\t\t\t\t\t|\r\n\t\t\t\t\t<a class=\"ignore\" href=\"javascript:translate.changeLanguage('japanese');\">\u65e5\u672c\u8a9e<\/a>\r\n\t\t\t\t\t|\r\n\t\t\t\t\t<a class=\"ignore\" href=\"javascript:translate.changeLanguage('swedish');\">Svenska<\/a>\r\n\t\t\t\t\t|\r\n\t\t\t\t\t<a class=\"ignore\" href=\"javascript:translate.changeLanguage('dutch');\">Nederlands<\/a>\r\n\t\t\t\t\t|\r\n\t\t\t\t\t<a class=\"ignore\" href=\"javascript:translate.changeLanguage('chinese_simplified');\">\u7b80\u4f53\u4e2d\u6587<\/a>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"woo-orders-tracking-shortcode-timeline-events-wrap\">\r\n\t\t\t\t\t<ul class=\"woo-orders-tracking-shortcode-timeline-events-wrap track-list\">\r\n\t\t\t\t\t\t<li class=\"woo-orders-tracking-shortcode-timeline-event\">\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"woo-orders-tracking-shortcode-timeline-icon woo-orders-tracking-shortcode-timeline-icon-delivered\">\r\n\t\t\t\t\t\t\t\t<i class=\"vi_wot_shipment_icons-tick\"><\/i><\/div>\r\n\t\t\t\t\t\t\t<div class=\"woo-orders-tracking-shortcode-timeline-event-content-wrap\">\r\n\t\t\t\t\t\t\t\t<div class=\"woo-orders-tracking-shortcode-timeline-event-content\">\r\n\t\t\t\t\t\t\t\t\t<h4 class=\"woo-orders-tracking-shortcode-timeline-event-des\">5. Delivered\uff08Example)<\/h4>\r\n\t\t\t\t\t\t\t\t\t<span class=\"woo-orders-tracking-shortcode-timeline-event-location\">\r\n\t\t\t\t\t\t\t\t\t\tExample: China <\/span>\r\n\t\t\t\t\t\t\t\t\t<span class=\"woo-orders-tracking-shortcode-timeline-event-time\">\r\n\t\t\t\t\t\t\t\t\t\t11 January, 2020 9:50 am <\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t<li class=\"woo-orders-tracking-shortcode-timeline-event\">\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"woo-orders-tracking-shortcode-timeline-icon woo-orders-tracking-shortcode-timeline-icon-transit\">\r\n\t\t\t\t\t\t\t\t<i class=\"vi_wot_shipment_icons-delivery-3\"><\/i><\/div>\r\n\t\t\t\t\t\t\t<div class=\"woo-orders-tracking-shortcode-timeline-event-content-wrap\">\r\n\t\t\t\t\t\t\t\t<div class=\"woo-orders-tracking-shortcode-timeline-event-content\">\r\n\t\t\t\t\t\t\t\t\t<h4 class=\"woo-orders-tracking-shortcode-timeline-event-des\">4. In transit\uff08Example)<\/h4>\r\n\t\t\t\t\t\t\t\t\t<span class=\"woo-orders-tracking-shortcode-timeline-event-location\">\r\n\t\t\t\t\t\t\t\t\t\tExample: China <\/span>\r\n\t\t\t\t\t\t\t\t\t<span class=\"woo-orders-tracking-shortcode-timeline-event-time\">\r\n\t\t\t\t\t\t\t\t\t\t3 January, 2020 10:11 pm <\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t<li class=\"woo-orders-tracking-shortcode-timeline-event\">\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"woo-orders-tracking-shortcode-timeline-icon woo-orders-tracking-shortcode-timeline-icon-transit\">\r\n\t\t\t\t\t\t\t\t<i class=\"vi_wot_shipment_icons-delivery-3\"><\/i><\/div>\r\n\t\t\t\t\t\t\t<div class=\"woo-orders-tracking-shortcode-timeline-event-content-wrap\">\r\n\t\t\t\t\t\t\t\t<div class=\"woo-orders-tracking-shortcode-timeline-event-content\">\r\n\t\t\t\t\t\t\t\t\t<h4 class=\"woo-orders-tracking-shortcode-timeline-event-des\">3. In transit\uff08Example)<\/h4>\r\n\t\t\t\t\t\t\t\t\t<span class=\"woo-orders-tracking-shortcode-timeline-event-location\">\r\n\t\t\t\t\t\t\t\t\t\tExample: China <\/span>\r\n\t\t\t\t\t\t\t\t\t<span class=\"woo-orders-tracking-shortcode-timeline-event-time\">\r\n\t\t\t\t\t\t\t\t\t\t3 January, 2020 2:15 am <\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t<li class=\"woo-orders-tracking-shortcode-timeline-event\">\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"woo-orders-tracking-shortcode-timeline-icon woo-orders-tracking-shortcode-timeline-icon-pickup\">\r\n\t\t\t\t\t\t\t\t<i class=\"vi_wot_shipment_icons-box-6\"><\/i><\/div>\r\n\t\t\t\t\t\t\t<div class=\"woo-orders-tracking-shortcode-timeline-event-content-wrap\">\r\n\t\t\t\t\t\t\t\t<div class=\"woo-orders-tracking-shortcode-timeline-event-content\">\r\n\t\t\t\t\t\t\t\t\t<h4 class=\"woo-orders-tracking-shortcode-timeline-event-des\">2. Pickup\uff08Example)<\/h4>\r\n\t\t\t\t\t\t\t\t\t<span class=\"woo-orders-tracking-shortcode-timeline-event-location\">\r\n\t\t\t\t\t\t\t\t\t\tExample: China <\/span>\r\n\t\t\t\t\t\t\t\t\t<span class=\"woo-orders-tracking-shortcode-timeline-event-time\">\r\n\t\t\t\t\t\t\t\t\t\t1 January, 2020 1:22 am <\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t<li class=\"woo-orders-tracking-shortcode-timeline-event\">\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"woo-orders-tracking-shortcode-timeline-icon woo-orders-tracking-shortcode-timeline-icon-delivered\">\r\n\t\t\t\t\t\t\t\t<span class=\"woo-orders-tracking-icon-default\"><\/span><\/div>\r\n\t\t\t\t\t\t\t<div class=\"woo-orders-tracking-shortcode-timeline-event-content-wrap\">\r\n\t\t\t\t\t\t\t\t<div class=\"woo-orders-tracking-shortcode-timeline-event-content\">\r\n\t\t\t\t\t\t\t\t\t<h4 class=\"woo-orders-tracking-shortcode-timeline-event-des\">1. Pending\uff08Example)<\/h4>\r\n\t\t\t\t\t\t\t\t\t<span class=\"woo-orders-tracking-shortcode-timeline-event-location\">\r\n\t\t\t\t\t\t\t\t\t\tExample: China <\/span>\r\n\t\t\t\t\t\t\t\t\t<span class=\"woo-orders-tracking-shortcode-timeline-event-time\">\r\n\t\t\t\t\t\t\t\t\t\t1 January, 2020 12:00 am <\/span>\r\n\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t<\/ul>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t<div id=\"trackingResults\"\r\n\t\t\t\tclass=\"woo-orders-tracking-shortcode-timeline-container woo-orders-tracking-hidden woo-orders-tracking-shortcode-timeline-title woo-orders-tracking-hidden\">\r\n\t\t\t\t<div class=\"vi-woocommerce-orders-tracking-shortcode-overlay\"><\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/div>\r\n\t<div class=\"faqs\">\r\n\t\t<h2>\r\n\t\t\t<strong>- FAQS:<\/strong>\r\n\t\t<\/h2>\r\n\t\t<ul>\r\n\t\t\t<li>\r\n\t\t\t\t<b>Why can't I check the logistics information?<\/b> \r\n\t\t\t\t<p>The tracking number is wrong or the courier has just been sent out and the courier company hasn't updated it yet.<\/p>\r\n\t\t\t<\/li> \r\n\t\t\t<li>\r\n\t\t\t\t<b>How long does shipping take?<\/b> \r\n\t\t\t\t<p>This is usually 7-15 working days, and may take up to 20 working days during public holidays or inclement weather conditions.<\/p>\r\n\t\t\t<\/li> \r\n\t\t\t<li>\r\n\t\t\t\t<b>Why does the state stay the same?<\/b> \r\n\t\t\t\t<p>Please be patient as it may be due to public holidays, fewer flights, very high volume of cargo, or strict customs regulations.<\/p>\r\n\t\t\t<\/li>\r\n\t\t\t<li>\r\n\t\t\t\t<b>Signed for, but not received?<\/b> \r\n\t\t\t\t<p>Please contact our customer service.<\/p>\r\n\t\t\t<\/li>\r\n\t\t<\/ul>\r\n\t<\/div>\r\n<\/div>\r\n<style type=\"text\/css\">\r\n\t.container,\r\n\t.elementor-section.elementor-section-boxed > .elementor-container{\r\n\t\tmax-width: 1380px;\r\n\t\tpadding:0;\r\n\t}\r\n\t.orders-tracking{\r\n\t\twidth: 100%;\r\n\t\tdisplay: flex;\r\n\t\tflex-wrap: wrap;\r\n\t\tflex-direction: row;\r\n\t}\r\n\t.orders-tracking .woo-orders-tracking-preview-shortcode-template-one{\r\n\t\twidth: 100%;\r\n\t}\r\n\t.orders-tracking .faqs{\r\n\t\twidth: 100%;\r\n\t\tpadding-top: 0px;\r\n\t\tpadding-left: 20px;\r\n\t}\r\n\t@media (min-width: 768px) {\r\n\t\t.orders-tracking .woo-orders-tracking-preview-shortcode-template-one{\r\n\t\t\twidth: 60%;\r\n\t\t}\r\n\t    .orders-tracking .faqs{\r\n\t    \twidth: 40%;\r\n\t\t\tpadding-top: 85px;\r\n\t\t\tpadding-left: 50px;\r\n\t    }\r\n\t}\r\n\t.lang-switch .ignore {\r\n\t\tpadding: 0 5px;\r\n\t\tcolor: #d22756 !important;\r\n\t\tdisplay: inline-block;\r\n\t}\r\n\t.translateSelectLanguage {\r\n\t\tdisplay: none;\r\n\t}\r\n\t.track-list li{\r\n\t\tlist-style:none\r\n\t}\r\n<\/style>\r\n<script>\r\n\twindow.rawTrackingData = [];\r\n\r\n\tfunction normalizeLangCode(lang) {\r\n\t    if (!lang) return 'en';\r\n\t    if (lang === 'zh-Hans') return 'zh-CN';\r\n\t    if (lang === 'zh-Hant') return 'zh-TW';\r\n\t    return lang;\r\n\t}\r\n\r\n\tfunction getRandomEmail() {\r\n\t    const rand = Math.random().toString(36).substring(2, 10);\r\n\t    return `user_${rand}@gmail.com`;\r\n\t}\r\n\r\n\tconst getInitialLang = () => {\r\n\t    const savedLang = localStorage.getItem('SelectedLanguage');\r\n\t    if (savedLang) return savedLang;\r\n\r\n\t    const htmlLang = document.documentElement.lang.toLowerCase();\r\n\t    if (htmlLang.startsWith('zh')) return 'zh-Hans';\r\n\t    if (htmlLang.startsWith('en')) return 'en';\r\n\t    return htmlLang.split('-')[0] || 'zh-Hans';\r\n\t};\r\n\r\n\twindow.currentLanguage = getInitialLang();\r\n\r\n\twindow.translate = {\r\n\t    changeLanguage: function(langKey) {\r\n\t        const languageMap = {\r\n\t            'chinese_simplified': 'zh-Hans',\r\n\t            'english': 'en',\r\n\t            'deutsch': 'de',\r\n\t            'french': 'fr',\r\n\t            'spanish': 'es',\r\n\t            'japanese': 'ja',\r\n\t            'polish': 'pl',\r\n\t            'italian': 'it',\r\n\t            'swedish': 'sv',\r\n\t            'dutch': 'nl'\r\n\t        };\r\n\r\n\t        window.currentLanguage = languageMap[langKey] || 'en';\r\n\t        localStorage.setItem('SelectedLanguage', window.currentLanguage);\r\n\r\n\t        if (window.rawTrackingData.length > 0) {\r\n\t            renderAndTranslate(window.rawTrackingData);\r\n\t        }\r\n\t    }\r\n\t};\r\n\r\n\tfunction detectSourceLang(text) {\r\n\t    const chinesePattern = \/[\\u4e00-\\u9fa5]\/;\r\n\t    if (chinesePattern.test(text)) return 'zh-CN';\r\n\t    return 'en';\r\n\t}\r\n\r\n\tasync function translateWithGoogleBrowser(text, targetLang) {\r\n\t    const gLang = normalizeLangCode(targetLang);\r\n\t    const url = `https:\/\/translate.googleapis.com\/translate_a\/single?client=gtx&dt=t&sl=auto&tl=${gLang}&q=${encodeURIComponent(text)}`;\r\n\t    const response = await fetch(url);\r\n\t    if (!response.ok) throw new Error(`Google GTX status: ${response.status}`);\r\n\t    const data = await response.json();\r\n\t    if (Array.isArray(data) && Array.isArray(data[0])) {\r\n\t        return data[0].map(item => item[0] || '').join('');\r\n\t    }\r\n\t    throw new Error('Invalid Google GTX response');\r\n\t}\r\n\r\n\tasync function translateWithMyMemoryBrowser(text, targetLang) {\r\n\t    const mLang = normalizeLangCode(targetLang);\r\n\t    const sourceLang = detectSourceLang(text);\r\n\t    if (sourceLang === mLang) return text;\r\n\t    const email = getRandomEmail();\r\n\t    const url = `https:\/\/api.mymemory.translated.net\/get?q=${encodeURIComponent(text)}&langpair=${sourceLang}|${mLang}&de=${encodeURIComponent(email)}`;\r\n\t    const response = await fetch(url);\r\n\t    if (!response.ok) throw new Error(`MyMemory HTTP status: ${response.status}`);\r\n\t    const data = await response.json();\r\n\t    if (\r\n\t        data &&\r\n\t        data.responseStatus === 200 &&\r\n\t        data.responseData &&\r\n\t        typeof data.responseData.translatedText === 'string' &&\r\n\t        data.responseData.translatedText.length > 0 &&\r\n\t        !data.responseData.translatedText.includes('INVALID SOURCE LANGUAGE') &&\r\n\t        !data.responseData.translatedText.includes('LANGPAIR=')\r\n\t    ) {\r\n\t        return data.responseData.translatedText;\r\n\t    }\r\n\t    throw new Error(`MyMemory error: ${data?.responseStatus || response.status} - ${data?.responseData?.translatedText || 'Unknown'}`);\r\n\t}\r\n\r\n\t\/\/ ==============================\r\n\t\/\/ \u4f18\u5316\u540e\u7684\u7ffb\u8bd1\u5165\u53e3\uff08\u9010\u6761\u72ec\u7acb\u7ffb\u8bd1\uff0c\u907f\u514d\u6362\u884c\u7b26\u5bfc\u81f4\u7684\u9519\u4f4d\u548c\u622a\u65ad\uff09\r\n\t\/\/ ==============================\r\n\tasync function translateTexts(texts) {\r\n\t    if (!texts || !texts.length) {\r\n\t        return texts;\r\n\t    }\r\n\r\n\t    \/\/ \u4e2d\u6587\u76f4\u63a5\u8fd4\u56de\r\n\t    if (window.currentLanguage === 'zh-Hans') {\r\n\t        return texts;\r\n\t    }\r\n\r\n\t    \/\/ \u4f7f\u7528 Promise.all\u5e76\u884c\u7ffb\u8bd1\u6bcf\u4e00\u9879\uff0c\u786e\u4fdd\u7ed3\u6784\u548c\u987a\u5e8f 100% \u5bf9\u5e94\r\n\t    const translationPromises = texts.map(async (text) => {\r\n\t        if (!text || !text.trim()) return text; \/\/ \u7a7a\u6587\u672c\u4e0d\u7ffb\u8bd1\r\n\r\n\t        try {\r\n\t            \/\/ \u4f18\u5148\u4f7f\u7528 Google \u7ffb\u8bd1\u5355\u6761\u6587\u672c\r\n\t            return await translateWithGoogleBrowser(text, window.currentLanguage);\r\n\t        } catch (e) {\r\n\t            console.warn(\"Google failed for item, trying MyMemory\", text);\r\n\t            try {\r\n\t                return await translateWithMyMemoryBrowser(text, window.currentLanguage);\r\n\t            } catch (err) {\r\n\t                console.error(\"Both translation APIs failed for:\", text, err);\r\n\t                return text; \/\/ \u5931\u8d25\u5219\u8fd4\u56de\u539f\u6587\r\n\t            }\r\n\t        }\r\n\t    });\r\n\r\n\t    try {\r\n\t        return await Promise.all(translationPromises);\r\n\t    } catch (err) {\r\n\t        console.error(\"Batch translation error:\", err);\r\n\t        return texts;\r\n\t    }\r\n\t}\r\n\r\n\tfunction delUrlParam(param) {\r\n\t    let obj = new window.URL(window.location.href);\r\n\t    obj.searchParams.delete(param);\r\n\t    return obj.href;\r\n\t}\r\n\r\n\tfunction addUrlParam(key, value) {\r\n\t    let obj = new window.URL(window.location.href);\r\n\t    obj.searchParams.set(key, value);\r\n\t    return obj.href;\r\n\t}\r\n\r\n\tfunction addLinksToText(text) {\r\n\t    if (!text) return \"\";\r\n\t    var regex = \/(https?:\\\/\\\/[^\\s]+)\/g;\r\n\t    var newText = text.replace(regex, function(match) {\r\n\t        return '<a style=\"color: blue\" href=\"' + match + '\" target=\"_blank\">' + match + '<\/a>';\r\n\t    });\r\n\t    return newText;\r\n\t}\r\n\r\n\tasync function renderAndTranslate(list) {\r\n\t    window.rawTrackingData = list;\r\n\r\n\t    var html = '',\r\n\t        trails = [\r\n\t            { num: '', icon: '<span class=\"woo-orders-tracking-icon-default\"><\/span>' },\r\n\t            { num: 'pickup', icon: '<i class=\"vi_wot_shipment_icons-box-6\"><\/i>' },\r\n\t            { num: 'transit', icon: '<i class=\"vi_wot_shipment_icons-delivery-3\"><\/i>' },\r\n\t            { num: 'delivered', icon: '<i class=\"vi_wot_shipment_icons-tick\"><\/i>' }\r\n\t        ];\r\n\r\n\t    list.forEach((item, index) => {\r\n\t        var reverseIndex = list.length - 1 - index;\r\n\t        var status = 2;\r\n\r\n\t        if (reverseIndex === 0 || reverseIndex === 1) {\r\n\t            status = reverseIndex;\r\n\t        } else if (reverseIndex === list.length - 1) {\r\n\t            status = 3;\r\n\t        }\r\n\r\n\t        const loadingText = window.currentLanguage === 'zh-Hans' ? '\u7ffb\u8bd1\u4e2d...' : 'Translating...';\r\n\t        const locationPlaceholder = loadingText;\r\n\t        const detailPlaceholder = loadingText;\r\n\r\n\t        html += `\r\n\t\t    <li class=\"woo-orders-tracking-shortcode-timeline-event\">\r\n\t\t        <div class=\"woo-orders-tracking-shortcode-timeline-icon woo-orders-tracking-shortcode-timeline-icon-${trails[status].num}\">\r\n\t\t            ${trails[status].icon}\r\n\t\t        <\/div>\r\n\r\n\t\t        <div class=\"woo-orders-tracking-shortcode-timeline-event-content-wrap\">\r\n\t\t            <div class=\"woo-orders-tracking-shortcode-timeline-event-content\">\r\n\t\t                <h4 class=\"woo-orders-tracking-shortcode-timeline-event-des\">\r\n\t\t                    <font style=\"vertical-align: inherit;\">\r\n\t\t                        ${reverseIndex}.  \r\n\t\t                        <font style=\"vertical-align: inherit;\" id='detail-${index}'>${detailPlaceholder}<\/font>\r\n\t\t                    <\/font>\r\n\t\t                <\/h4>\r\n\t\t                <span class=\"woo-orders-tracking-shortcode-timeline-event-location\">\r\n\t\t                    <font style=\"vertical-align: inherit;\">\r\n\t\t                        <font style=\"vertical-align: inherit;\" id='location-${index}'>${locationPlaceholder}<\/font>\r\n\t\t                    <\/font>\r\n\t\t                <\/span>\r\n\t\t                <span class=\"woo-orders-tracking-shortcode-timeline-event-time\">\r\n\t\t                    <font style=\"vertical-align: inherit;\">\r\n\t\t                        <font style=\"vertical-align: inherit;\">${item.time}<\/font>\r\n\t\t                    <\/font>\r\n\t\t                <\/span>\r\n\t\t            <\/div>\r\n\t\t        <\/div>\r\n\t\t    <\/li>`;\r\n\t    });\r\n\r\n\t    jQuery('.track-list').html(html);\r\n\t    jQuery('#trackingResults').addClass('woo-orders-tracking-hidden');\r\n\r\n\t    const textsToTranslate = list.flatMap(item => [item.location || \"---\", item.detail || \"---\"]);\r\n\t    const translatedResults = await translateTexts(textsToTranslate);\r\n\r\n\t    list.forEach((_, index) => {\r\n\t        const locIdx = index * 2;\r\n\t        const detIdx = index * 2 + 1;\r\n\t        jQuery(`#location-${index}`).html(translatedResults[locIdx]);\r\n\t        jQuery(`#detail-${index}`).html(addLinksToText(translatedResults[detIdx]));\r\n\t    });\r\n\t}\r\n\r\n\tfunction performTrackingQuery(trackingNumber) {\r\n\t    history.pushState({}, 0, delUrlParam('no'));\r\n\t    history.pushState({}, 0, addUrlParam('no', trackingNumber));\r\n\t    jQuery('#trackingResults').removeClass('woo-orders-tracking-hidden');\r\n\t    jQuery('.track-list').html(\"\");\r\n\r\n\t    jQuery.ajax({\r\n\t        url: '\/wp-json\/api\/v1\/tracking\/' + trackingNumber,\r\n\t        method: 'GET',\r\n\t        success: async function(response) {\r\n\t            const list = typeof response === 'string' ? JSON.parse(response) : response;\r\n\t            if (!list || list.length === 0) {\r\n\t                jQuery('.track-list').html('<p style=\"padding:20px; color:#666;\">No records found.<\/p>');\r\n\t            } else {\r\n\t                await renderAndTranslate(list);\r\n\t            }\r\n\t        },\r\n\t        error: function() {\r\n\t            jQuery('.track-list').html('<p style=\"padding:20px; color:#666;\">There was an error querying, please try again later.<\/p>');\r\n\t        }\r\n\t    });\r\n\t}\r\n\r\n\tjQuery('#checkButton').click(function() {\r\n\t    var trackingNumber = jQuery('#button_tracking_number').val();\r\n\r\n\t    if (trackingNumber.trim() !== '') {\r\n\t        history.pushState({}, 0, delUrlParam('no'));\r\n\t        history.pushState({}, 0, addUrlParam('no', trackingNumber));\r\n\t        performTrackingQuery(trackingNumber);\r\n\t    } else {\r\n\t        alert('Please enter the tracking number\uff01');\r\n\t    }\r\n\t});\r\n\r\n\tjQuery('#button_tracking_number').on('keypress', function(e) {\r\n\t    if (e.which === 13) jQuery('#checkButton').click();\r\n\t});\r\n\r\n\tjQuery(document).ready(function() {\r\n\t    var urlParams = new URLSearchParams(window.location.search);\r\n\t    var trackingNumber = urlParams.get('no');\r\n\t    if (trackingNumber) {\r\n\t        jQuery('#button_tracking_number').val(trackingNumber);\r\n\t        performTrackingQuery(trackingNumber);\r\n\t    }\r\n\t});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Logistics tracking number Track Language: English | Deutsch | Fran\u00e7ais | Espa\u00f1ol | Italiano | \u65e5\u672c\u8a9e | Svenska | Nederlands | \u7b80\u4f53\u4e2d\u6587 5. Delivered\uff08Example) Example: China 11 January, 2020 9:50 am 4. In transit\uff08Example) Example: China 3 January, 2020 10:11 pm 3. In transit\uff08Example) Example: China 3 January, 2020 2:15 am 2. Pickup\uff08Example) Example: China [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-7775","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dogevape.com\/wp-json\/wp\/v2\/pages\/7775","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dogevape.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dogevape.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dogevape.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/dogevape.com\/wp-json\/wp\/v2\/comments?post=7775"}],"version-history":[{"count":0,"href":"https:\/\/dogevape.com\/wp-json\/wp\/v2\/pages\/7775\/revisions"}],"wp:attachment":[{"href":"https:\/\/dogevape.com\/wp-json\/wp\/v2\/media?parent=7775"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}