{"id":17212,"date":"2026-09-04T14:28:05","date_gmt":"2026-09-04T14:28:05","guid":{"rendered":"https:\/\/am-wardrobe.com\/en\/track-my-order\/"},"modified":"2026-09-04T15:23:47","modified_gmt":"2026-09-04T15:23:47","slug":"track-my-order","status":"publish","type":"page","link":"https:\/\/am-wardrobe.com\/track-my-order\/","title":{"rendered":"Track My Order"},"content":{"rendered":"<div class=\"sh-track\">\n  <div class=\"sh-track__inner\">\n    <header class=\"sh-track__head\">\n      <h1 class=\"sh-track__title\">Track Your Order<\/h1>\n      <p class=\"sh-track__lead\">Enter your tracking number below to see the latest shipping updates.<\/p>\n    <\/header>\n\n    <form class=\"sh-track__form\" id=\"sh-track-form\" novalidate>\n      <div class=\"sh-track__field\">\n        <label class=\"sh-track__label\" for=\"sh-track-input\">Tracking number<\/label>\n        <input type=\"text\" id=\"sh-track-input\" name=\"tracking\" inputmode=\"latin\" autocomplete=\"off\"\n               spellcheck=\"false\" placeholder=\"Enter tracking number\"\n               value=\"\">\n      <\/div>\n      <button type=\"submit\" class=\"sh-track__submit m-button m-button--primary\">\n        <span class=\"sh-track__submit-label\">Track Order<\/span>\n        <span class=\"sh-track__spinner\" aria-hidden=\"true\"><\/span>\n      <\/button>\n    <\/form>\n\n    <p class=\"sh-track__msg\" id=\"sh-track-msg\" role=\"status\" aria-live=\"polite\" hidden><\/p>\n    <div class=\"sh-track__result\" id=\"sh-track-result\" aria-live=\"polite\"><\/div>\n  <\/div>\n<\/div>\n\n<style id=\"sh-track-css\">\n.sh-track{background:#faf8f2;color:#111}\n.sh-track__inner{max-width:640px;margin:0 auto;padding:56px 28px 96px}\n.sh-track__head{text-align:center;margin-bottom:32px}\n.sh-track__title{font-family:'Mirabook',Georgia,serif;font-weight:400;font-size:40px;line-height:1.05;margin:0 0 12px;letter-spacing:-.01em}\n.sh-track__lead{font-size:15px;line-height:1.7;color:#5a5a5a;margin:0}\n.sh-track__form{display:flex;flex-direction:column;gap:14px}\n.sh-track__field{display:flex;flex-direction:column;gap:7px}\n.sh-track__label{font:600 12px\/1 inherit;text-transform:uppercase;letter-spacing:.06em;color:#444}\n.sh-track__field input{width:100%;box-sizing:border-box;font-family:inherit;font-size:16px;color:#111;background:#fff;border:1px solid #d5cfc0;border-radius:0;padding:14px 15px;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;letter-spacing:.02em}\n.sh-track__field input:focus{outline:none;border-color:#111;box-shadow:0 0 0 1px #111}\n.sh-track__submit{position:relative;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;border-radius:0;width:100%}\n.sh-track__submit[disabled]{cursor:default;opacity:1;background:#333}\n.sh-track__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;display:none;animation:sht-spin .6s linear infinite}\n.sh-track__submit.is-loading .sh-track__spinner{display:inline-block}\n@keyframes sht-spin{to{transform:rotate(360deg)}}\n.sh-track__msg{font-size:14px;line-height:1.6;margin:18px 0 0;padding:14px 16px;border-radius:0;background:#fff;border:1px solid #e2ddd0;color:#444;text-align:center}\n.sh-track__msg.is-err{background:#fdecea;border-color:#f5c6c0;color:#a5281b}\n.sh-track__result{margin-top:28px}\n.sh-track__card{background:#fff;border:1px solid #e2ddd0;border-radius:0;padding:24px}\n.sh-track__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-bottom:8px}\n.sh-track__cell{display:flex;flex-direction:column;gap:5px;min-width:0}\n.sh-track__cell .k{font:600 11px\/1 inherit;text-transform:uppercase;letter-spacing:.1em;color:#9a9a9a}\n.sh-track__cell .v{font-size:15px;color:#111;word-break:break-word}\n.sh-track__cell .v.status{font-weight:600;text-transform:uppercase;letter-spacing:.03em}\n.sh-track__tl{list-style:none;margin:22px 0 0;padding:20px 0 0;border-top:1px solid #eee9dc}\n.sh-track__ev{position:relative;padding:0 0 20px 26px}\n.sh-track__ev:last-child{padding-bottom:0}\n.sh-track__ev::before{content:\"\";position:absolute;left:3px;top:4px;width:9px;height:9px;border-radius:50%;background:#c9c2b2}\n.sh-track__ev::after{content:\"\";position:absolute;left:7px;top:14px;bottom:0;width:1px;background:#e6e0d1}\n.sh-track__ev:last-child::after{display:none}\n.sh-track__ev.is-current::before{background:#111;box-shadow:0 0 0 3px rgba(17,17,17,.12)}\n.sh-track__ev .ev-label{font-size:14px;font-weight:600;color:#111;line-height:1.3}\n.sh-track__ev .ev-loc{font-size:13px;color:#6a6a6a;margin-top:2px}\n.sh-track__ev .ev-date{font-size:12px;color:#9a9a9a;margin-top:2px}\n.sh-track__cta{margin-top:20px}\n.sh-track__cta a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;background:#111;color:#fff;text-decoration:none;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-radius:0}\n.sh-track__cta a:hover{background:#1a1a1a}\n.sh-track__fallback{background:#fff;border:1px solid #e2ddd0;padding:22px 24px;text-align:center}\n.sh-track__fallback p{font-size:14px;line-height:1.6;color:#444;margin:0 0 16px}\n@media(min-width:768px){ .sh-track__inner{padding:72px 40px 110px} .sh-track__title{font-size:48px} }\n@media(max-width:520px){ .sh-track__inner{padding:40px 20px 72px} .sh-track__title{font-size:30px} .sh-track__grid{grid-template-columns:1fr} }\n<\/style>\n\n<script id=\"sh-track-js\">\n(function(){\n  var form=document.getElementById('sh-track-form');\n  if(!form || form.__sht) return; form.__sht=1;\n  var input=document.getElementById('sh-track-input');\n  var btn=form.querySelector('.sh-track__submit');\n  var lbl=form.querySelector('.sh-track__submit-label');\n  var msg=document.getElementById('sh-track-msg');\n  var result=document.getElementById('sh-track-result');\n  var AJAX=\"https:\\\/\\\/am-wardrobe.com\\\/wp-admin\\\/admin-ajax.php\";\n  var NONCE=\"b282634b84\";\n\n  function esc(s){ var d=document.createElement('div'); d.textContent=(s==null?'':String(s)); return d.innerHTML; }\n  function showMsg(text,isErr){ msg.textContent=text; msg.className='sh-track__msg'+(isErr?' is-err':''); msg.hidden=false; }\n  function clearMsg(){ msg.hidden=true; msg.textContent=''; }\n  function clearResult(){ result.innerHTML=''; }\n\n  var ERR={\n    empty:'Please enter a tracking number.',\n    invalid_format:'Please check your tracking number and try again.',\n    not_found:\"We couldn\u2019t find tracking information for this number yet. Please check the number and try again.\",\n    api_unavailable:'Tracking information is temporarily unavailable. Please try again shortly.',\n    rate_limited:'Too many requests. Please wait a moment and try again.',\n    nonce:'Your session expired. Please refresh the page and try again.',\n    unsupported_carrier:'We can\u2019t track this carrier automatically yet.'\n  };\n\n  function fedexBtn(url,label){ return url ? '<div class=\"sh-track__cta\"><a href=\"'+esc(url)+'\" target=\"_blank\" rel=\"noopener\">'+esc(label||'View tracking details on FedEx')+'<\/a><\/div>' : ''; }\n\n  function renderFound(d){\n    var h='<div class=\"sh-track__card\">';\n    h+='<div class=\"sh-track__grid\">';\n    h+='<div class=\"sh-track__cell\"><span class=\"k\">Tracking Number<\/span><span class=\"v\">'+esc(d.tracking_number)+'<\/span><\/div>';\n    h+='<div class=\"sh-track__cell\"><span class=\"k\">Carrier<\/span><span class=\"v\">'+esc(d.carrier||'FedEx')+'<\/span><\/div>';\n    if(d.status_label){ h+='<div class=\"sh-track__cell\"><span class=\"k\">Status<\/span><span class=\"v status\">'+esc(d.status_label)+'<\/span><\/div>'; }\n    if(d.estimated_delivery){ h+='<div class=\"sh-track__cell\"><span class=\"k\">Estimated Delivery<\/span><span class=\"v\">'+esc(d.estimated_delivery)+'<\/span><\/div>'; }\n    h+='<\/div>';\n    if(d.events && d.events.length){\n      h+='<ul class=\"sh-track__tl\">';\n      for(var i=0;i<d.events.length;i++){ var e=d.events[i]; var cur=(i===d.events.length-1)?' is-current':'';\n        h+='<li class=\"sh-track__ev'+cur+'\">';\n        h+='<div class=\"ev-label\">'+esc(e.label)+'<\/div>';\n        if(e.location) h+='<div class=\"ev-loc\">'+esc(e.location)+'<\/div>';\n        if(e.date_label) h+='<div class=\"ev-date\">'+esc(e.date_label)+'<\/div>';\n        h+='<\/li>';\n      }\n      h+='<\/ul>';\n    }\n    h+=fedexBtn(d.fedex_url,'View full details on FedEx');\n    h+='<\/div>';\n    result.innerHTML=h;\n  }\n\n  function renderFallback(d){\n    \/\/ no_credentials : la page reste fonctionnelle -> suivi officiel FedEx\n    var h='<div class=\"sh-track__fallback\">';\n    h+='<p>Your FedEx tracking number <strong>'+esc(d.tracking_number)+'<\/strong> is ready. View the latest status directly on FedEx.<\/p>';\n    h+='<div class=\"sh-track__cta\"><a href=\"'+esc(d.fedex_url)+'\" target=\"_blank\" rel=\"noopener\">View tracking details on FedEx<\/a><\/div>';\n    h+='<\/div>';\n    result.innerHTML=h;\n  }\n\n  function doTrack(){\n    var val=(input.value||'').trim();\n    clearMsg(); clearResult();\n    if(!val){ showMsg(ERR.empty,true); input.focus(); return; }\n    if(btn.classList.contains('is-loading')) return;\n    btn.classList.add('is-loading'); btn.disabled=true; var prev=lbl.textContent; lbl.textContent='Tracking\u2026';\n\n    var fd=new FormData(); fd.append('action','sh_track'); fd.append('nonce',NONCE); fd.append('tracking',val);\n    fetch(AJAX,{method:'POST',body:fd,credentials:'same-origin'})\n      .then(function(r){ return r.json().catch(function(){ return {success:false,data:{error:'api_unavailable'}}; }); })\n      .then(function(res){\n        var d=(res&&res.data)||{};\n        if(res && res.success && d.found){ renderFound(d); return; }\n        if(d.error==='no_credentials'){ renderFallback(d); return; }\n        \/\/ erreurs : message + \u00e9ventuel lien FedEx si on conna\u00eet le num\u00e9ro\n        showMsg(ERR[d.error]||ERR.api_unavailable,true);\n        if(d.fedex_url){ result.innerHTML='<div class=\"sh-track__fallback\"><p>You can also check the status directly with the carrier.<\/p>'+fedexBtn(d.fedex_url)+'<\/div>'; }\n      })\n      .catch(function(){ showMsg(ERR.api_unavailable,true); })\n      .finally(function(){ btn.classList.remove('is-loading'); btn.disabled=false; lbl.textContent=prev; });\n  }\n\n  form.addEventListener('submit',function(e){ e.preventDefault(); doTrack(); });\n\n  \/\/ auto-search si prefill via ?tracking= (s\u00e9curis\u00e9 : valeur d\u00e9j\u00e0 sanitize c\u00f4t\u00e9 serveur)\n  if(input.value && input.value.trim().length>=8){ doTrack(); }\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-17212","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/am-wardrobe.com\/wp-json\/wp\/v2\/pages\/17212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/am-wardrobe.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/am-wardrobe.com\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/am-wardrobe.com\/wp-json\/wp\/v2\/comments?post=17212"}],"version-history":[{"count":1,"href":"https:\/\/am-wardrobe.com\/wp-json\/wp\/v2\/pages\/17212\/revisions"}],"predecessor-version":[{"id":17213,"href":"https:\/\/am-wardrobe.com\/wp-json\/wp\/v2\/pages\/17212\/revisions\/17213"}],"wp:attachment":[{"href":"https:\/\/am-wardrobe.com\/wp-json\/wp\/v2\/media?parent=17212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}