{"id":14,"date":"2026-06-07T12:44:03","date_gmt":"2026-06-07T12:44:03","guid":{"rendered":"https:\/\/sigmapeptides.co.id\/cart\/"},"modified":"2026-08-21T09:46:20","modified_gmt":"2026-08-21T01:46:20","slug":"cart","status":"publish","type":"page","link":"https:\/\/sigmapeptides.co.id\/en\/cart\/","title":{"rendered":"Keranjang"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"14\" class=\"elementor elementor-14 elementor-bc-flex-widget\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d4c0de1 e-flex e-con-boxed e-con e-parent\" data-id=\"d4c0de1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d4c0de2 elementor-widget elementor-widget-html\" data-id=\"d4c0de2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n\/* The theme prints its own page title (\"Keranjang\") above the content, which duplicates\n   our H1. This <style> only exists on this page, so hiding it here is page-scoped. *\/\n.page-header,h1.entry-title{display:none!important}\n.scart{--gold:#DDB64D;--panel:#131821;--bd:#2A313B;--tx:#F5F6F8;--mu:#8E96A3;\n font-family:Inter,system-ui,sans-serif;color:var(--tx);max-width:1120px;margin:0 auto;\n padding:0 4px}\n.scart *{box-sizing:border-box;white-space:normal}\n.scart__h1{font-family:Newsreader,Georgia,serif;font-size:40px;font-weight:400;\n letter-spacing:-.02em;line-height:1.1;margin:0 0 24px;color:var(--tx)}\n.scart__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px;\n align-items:start}\n.scart__col{min-width:0;display:flex;flex-direction:column;gap:12px}\n\n.scart__line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;\n align-items:start;padding:14px;border-radius:18px;background:var(--panel);\n border:1px solid var(--bd)}\n.scart__thumb{width:64px;height:64px;border-radius:12px;object-fit:cover;\n background:#1A202A;border:1px solid var(--bd)}\n.scart__name{font-size:13.5px;font-weight:700;line-height:1.35;margin:0;color:var(--tx);\n text-decoration:none;display:block}\n.scart__name:hover{color:var(--gold)}\n.scart__meta{margin:3px 0 0;font-size:11.5px;color:var(--mu)}\n.scart__price{font-size:13.5px;font-weight:700;color:var(--tx);white-space:nowrap;\n text-align:right}\n.scart__rowfoot{grid-column:2 \/ -1;display:flex;align-items:center;justify-content:space-between;\n gap:12px;margin-top:10px}\n\n.scart__step{display:flex;align-items:center;height:32px;border:1px solid var(--bd);\n background:#1A202A;border-radius:9999px;overflow:hidden;flex:0 0 auto}\n.scart__step button{width:30px;height:30px;display:grid;place-items:center;border:0;\n background:transparent;color:#D7DCE3;cursor:pointer;font:600 15px Inter,system-ui,sans-serif;\n padding:0;line-height:1;transition:background-color .15s ease,color .15s ease}\n.scart__step button:hover{background:rgba(221,182,77,.12);color:var(--gold)}\n.scart__step button:disabled{opacity:.35;cursor:not-allowed}\n.scart__step span{min-width:30px;text-align:center;font:600 12.5px Inter,system-ui,sans-serif}\n.scart__rm{border:0;background:transparent;color:#8E96A3;cursor:pointer;font-size:17px;\n line-height:1;padding:6px;border-radius:8px;transition:color .15s ease,background-color .15s ease}\n.scart__rm:hover{color:#fff;background:rgba(255,255,255,.07)}\n\n.scart__xsell{padding:16px;border-radius:18px;background:var(--panel);\n border:1px solid var(--bd)}\n.scart__xtitle{margin:0 0 12px;font-size:12.5px;font-weight:700;color:var(--tx)}\n.scart__xrow{display:flex;align-items:center;gap:12px;padding:9px 0;\n border-top:1px solid rgba(255,255,255,.05)}\n.scart__xrow:first-of-type{border-top:0}\n.scart__xrow img{width:38px;height:38px;border-radius:9px;object-fit:cover;\n background:#1A202A;flex:0 0 auto}\n.scart__xinfo{flex:1 1 auto;min-width:0}\n.scart__xname{font-size:12.5px;font-weight:600;color:var(--tx);text-decoration:none;\n display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.scart__xname:hover{color:var(--gold)}\n.scart__xprice{font-size:11.5px;color:var(--mu);margin-top:2px}\n.scart__xadd{flex:0 0 auto;width:30px;height:30px;border-radius:9999px;cursor:pointer;\n border:1px solid rgba(221,182,77,.40);background:rgba(221,182,77,.08);color:var(--gold);\n font:600 16px Inter,system-ui,sans-serif;display:grid;place-items:center;padding:0;\n transition:background-color .15s ease,border-color .15s ease}\n.scart__xadd:hover{background:rgba(221,182,77,.20);border-color:var(--gold)}\n.scart__xadd:disabled{opacity:.45;cursor:wait}\n\n.scart__sum{position:sticky;top:96px;padding:20px;border-radius:18px;background:var(--panel);\n border:1px solid var(--bd);display:flex;flex-direction:column;gap:0}\n.scart__srow{display:flex;align-items:center;justify-content:space-between;gap:12px;\n font-size:12.5px;color:var(--mu);padding:5px 0}\n.scart__srow b{color:var(--tx);font-weight:600}\n.scart__hr{height:1px;background:rgba(255,255,255,.07);margin:12px 0}\n.scart__total{display:flex;align-items:baseline;justify-content:space-between;gap:12px}\n.scart__total span{font-size:13.5px;font-weight:700;color:var(--tx)}\n.scart__total b{font-family:Newsreader,Georgia,serif;font-size:26px;font-weight:400;\n color:var(--tx);letter-spacing:-.01em}\n.scart__cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;\n margin-top:16px;padding:13px 20px;border:0;border-radius:9999px;cursor:pointer;\n background:var(--tx);color:#07080A;font:700 13px Inter,system-ui,sans-serif;\n text-decoration:none;transition:background-color .15s ease}\n.scart__cta:hover{background:#fff;color:#07080A}\n.scart__cta[aria-disabled=\"true\"]{opacity:.35;pointer-events:none}\n.scart__back{display:block;text-align:center;margin-top:11px;font-size:12px;\n color:#8E96A3;text-decoration:underline;text-underline-offset:2px}\n.scart__back:hover{color:var(--tx)}\n.scart__badge{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:16px;\n padding:9px;border-radius:12px;background:rgba(221,182,77,.06);\n border:1px solid rgba(221,182,77,.22);font-size:11px;font-weight:600;color:#D8B65A}\n.scart__badge svg{width:13px;height:13px;flex:0 0 auto}\n\n.scart__trust{margin-top:12px;padding:16px;border-radius:18px;background:var(--panel);\n border:1px solid var(--bd);display:flex;flex-direction:column;gap:9px}\n.scart__trust div{display:flex;align-items:center;gap:9px;font-size:11.5px;color:#D7DCE3}\n.scart__trust svg{width:13px;height:13px;color:#B08947;flex:0 0 auto}\n\n.scart__empty{padding:44px 24px;text-align:center;border-radius:18px;background:var(--panel);\n border:1px solid var(--bd)}\n.scart__empty p{margin:0 0 18px;font-size:13.5px;color:var(--mu)}\n.scart__skel{height:92px;border-radius:18px;background:var(--panel);\n border:1px solid var(--bd);opacity:.55}\n@media(max-width:900px){\n .scart__grid{grid-template-columns:minmax(0,1fr)}\n .scart__sum{position:static}\n .scart__h1{font-size:32px}\n}\n@media(max-width:480px){\n .scart__line{grid-template-columns:52px minmax(0,1fr);gap:11px;padding:12px}\n .scart__thumb{width:52px;height:52px}\n .scart__price{grid-column:2;text-align:left;margin-top:4px}\n .scart__rowfoot{grid-column:1 \/ -1}\n .scart__h1{font-size:28px}\n}\n<\/style>\n<div class=\"scart\" id=\"scart\" data-scv=\"6\">\n  <h1 class=\"scart__h1\" data-en=\"Your cart\">Keranjang Anda<\/h1>\n  <div class=\"scart__grid\">\n    <div class=\"scart__col\">\n      <div data-lines><div class=\"scart__skel\"><\/div><\/div>\n      <div data-xsell><\/div>\n    <\/div>\n    <div data-summary><\/div>\n  <\/div>\n<\/div>\n<script>\n(function(){\n  var root=document.getElementById('scart');\n  if(!root) return;\n  var API='\/wp-json\/wc\/store\/v1';\n  \/\/ Every string on this page is injected by JS, so TranslatePress cannot reach it.\n  \/\/ Indonesian at \/, English at \/en\/.\n  var IS_EN=\/^\\\/en(\\\/|$)\/.test(location.pathname);\n  function L(id,en){ return IS_EN?en:id; }\n  var nonce=null;\n  function rp(v){\n    var n=String(v==null?0:v).replace(\/[^0-9-]\/g,'');\n    return 'Rp '+n.replace(\/\\B(?=(\\d{3})+(?!\\d))\/g,'.');\n  }\n  function esc(s){ return String(s==null?'':s)\n    .replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;'); }\n  \/\/ \ud83d\udd34 LiteSpeed CACHES GET \/wp-json\/wc\/store\/v1\/cart and serves an EMPTY cart snapshot to\n  \/\/ guests (measured 2026-08-21: plain GET -> x-litespeed-cache:hit count 0, same GET with a\n  \/\/ random query param -> miss count 5). It also IGNORES a Cache-Control:no-cache request\n  \/\/ header. So every cart READ carries a cache-buster. Adds were never broken -- the read was.\n  function get(){\n    return fetch(API+'\/cart?_='+Date.now(),{credentials:'same-origin',headers:{'Accept':'application\/json'}})\n      .then(function(r){ nonce=r.headers.get('nonce')||nonce; return r.json(); });\n  }\n  function post(path,body){\n    return fetch(API+path,{method:'POST',credentials:'same-origin',\n      headers:{'Content-Type':'application\/json','Nonce':nonce||''},\n      body:JSON.stringify(body)})\n      .then(function(r){ nonce=r.headers.get('nonce')||nonce;\n        return r.json().then(function(j){ if(!r.ok) throw j; return j; }); });\n  }\n  function changed(){ document.dispatchEvent(new CustomEvent('sigma:cart-changed')); }\n\n  function lineHtml(it){\n    var img=(it.images&&it.images[0])?(it.images[0].thumbnail||it.images[0].src):'';\n    var max=(it.quantity_limits&&it.quantity_limits.maximum)||99;\n    return ''+\n    '<div class=\"scart__line\" data-key=\"'+esc(it.key)+'\" data-max=\"'+max+'\">'+\n      '<img decoding=\"async\" class=\"scart__thumb\" src=\"'+esc(img)+'\" alt=\"\" loading=\"lazy\">'+\n      '<div><a class=\"scart__name\" href=\"'+esc(it.permalink||'#')+'\">'+esc(it.name)+'<\/a>'+\n        (it.sku?'<p class=\"scart__meta\">SKU '+esc(it.sku)+'<\/p>':'')+'<\/div>'+\n      '<div class=\"scart__price\">'+rp((it.totals&&it.totals.line_total))+'<\/div>'+\n      '<div class=\"scart__rowfoot\">'+\n        '<div class=\"scart__step\">'+\n          '<button type=\"button\" data-act=\"dec\" aria-label=\"'+L('Kurangi','Decrease')+'\">\\u2212<\/button>'+\n          '<span data-qty>'+it.quantity+'<\/span>'+\n          '<button type=\"button\" data-act=\"inc\" aria-label=\"'+L('Tambah','Increase')+'\">+<\/button>'+\n        '<\/div>'+\n        '<button type=\"button\" class=\"scart__rm\" data-act=\"rm\" '+\n          'aria-label=\"'+L('Hapus dari keranjang','Remove from cart')+'\">\\u00d7<\/button>'+\n      '<\/div>'+\n    '<\/div>';\n  }\n\n  var TRUST=[[L('Pengiriman cepat & terpercaya','Fast, reliable delivery')],\n             [L('Konsultasi gratis','Free consultation')],\n             [L('Kemurnian \\u2265 99%','Purity \\u2265 99%')],\n             [L('Pendampingan mendalam','In-depth guidance')]];\n  var SHIELD='<svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2l8 3v6c0 5-3.5 8.6-8 11-4.5-2.4-8-6-8-11V5l8-3z\"><\/path><\/svg>';\n\n  function sumHtml(c){\n    var empty=!(c.items&&c.items.length);\n    return ''+\n    '<div class=\"scart__sum\">'+\n      '<div class=\"scart__srow\"><span>'+L('Pengiriman','Shipping')+'<\/span><b>'+\n        ((c.totals&&c.totals.total_shipping&&c.totals.total_shipping!=='0')\n          ? rp(c.totals.total_shipping) : L('Gratis','Free'))+'<\/b><\/div>'+\n      '<div class=\"scart__srow\"><span>'+L('Subtotal','Subtotal')+'<\/span><b>'+\n        rp(c.totals&&c.totals.total_items)+'<\/b><\/div>'+\n      '<div class=\"scart__hr\"><\/div>'+\n      '<div class=\"scart__total\"><span>'+L('Total','Total')+'<\/span><b>'+\n        rp(c.totals&&c.totals.total_price)+'<\/b><\/div>'+\n      '<a class=\"scart__cta\" href=\"\/checkout\/\"'+(empty?' aria-disabled=\"true\"':'')+'>'+\n        L('Lanjut ke checkout','Proceed to checkout')+' \\u2192<\/a>'+\n      '<a class=\"scart__back\" href=\"\/shop\/\">'+L('Lanjut lihat katalog','Continue browsing the catalog')+'<\/a>'+\n      '<p class=\"scart__badge\">'+SHIELD+L('Hanya untuk penelitian','Research use only')+'<\/p>'+\n    '<\/div>'+\n    '<div class=\"scart__trust\">'+TRUST.map(function(t){\n      return '<div>'+SHIELD+esc(t[0])+'<\/div>'; }).join('')+'<\/div>';\n  }\n\n  function render(c){\n    var left=root.querySelector('[data-lines]');\n    var right=root.querySelector('[data-summary]');\n    if(!(c.items&&c.items.length)){\n      left.innerHTML='<div class=\"scart__empty\"><p>'+L('Keranjang Anda masih kosong.','Your cart is empty.')+'<\/p>'+\n        '<a class=\"scart__cta\" style=\"max-width:260px;margin:0 auto\" href=\"\/shop\/\">'+\n        L('Lihat katalog','View catalog')+' \\u2192<\/a><\/div>';\n    } else {\n      left.innerHTML=c.items.map(lineHtml).join('');\n    }\n    right.innerHTML=sumHtml(c);\n    xsell(c);\n  }\n\n  function xsell(c){\n    var host=root.querySelector('[data-xsell]');\n    if(!host) return;\n    var have={};\n    (c.items||[]).forEach(function(i){ have[i.id]=1; });\n    fetch(API+'\/products?per_page=8&orderby=popularity',\n      {credentials:'same-origin'})\n      .then(function(r){ return r.json(); })\n      .then(function(list){\n        var pick=(list||[]).filter(function(p){\n          return !have[p.id] && p.is_purchasable && p.is_in_stock; }).slice(0,3);\n        if(!pick.length){ host.innerHTML=''; return; }\n        host.innerHTML='<div class=\"scart__xsell\">'+\n          '<p class=\"scart__xtitle\">'+L('Tambah produk riset lain','Add more research peptides')+'<\/p>'+\n          pick.map(function(p){\n            var img=(p.images&&p.images[0])?(p.images[0].thumbnail||p.images[0].src):'';\n            return '<div class=\"scart__xrow\">'+\n              '<img decoding=\"async\" src=\"'+esc(img)+'\" alt=\"\" loading=\"lazy\">'+\n              '<div class=\"scart__xinfo\">'+\n                '<a class=\"scart__xname\" href=\"'+esc(p.permalink)+'\">'+esc(p.name)+'<\/a>'+\n                '<div class=\"scart__xprice\">'+rp(p.prices&&p.prices.price)+'<\/div>'+\n              '<\/div>'+\n              '<button type=\"button\" class=\"scart__xadd\" data-add=\"'+p.id+'\" '+\n                'aria-label=\"'+L('Tambah ke keranjang','Add to cart')+'\">+<\/button>'+\n            '<\/div>';\n          }).join('')+'<\/div>';\n      }).catch(function(){ host.innerHTML=''; });\n  }\n\n  root.addEventListener('click',function(e){\n    var add=e.target.closest('[data-add]');\n    if(add){\n      add.disabled=true;\n      post('\/cart\/add-item',{id:parseInt(add.getAttribute('data-add'),10),quantity:1})\n        .then(function(c){ render(c); changed(); })\n        .catch(function(){ add.disabled=false; });\n      return;\n    }\n    var btn=e.target.closest('[data-act]');\n    if(!btn) return;\n    var line=btn.closest('.scart__line');\n    if(!line) return;\n    var key=line.getAttribute('data-key');\n    var max=parseInt(line.getAttribute('data-max'),10)||99;\n    var span=line.querySelector('[data-qty]');\n    var q=parseInt(span.textContent,10)||1;\n    var act=btn.getAttribute('data-act');\n    var next=q;\n    if(act==='inc') next=Math.min(q+1,max);\n    if(act==='dec') next=q-1;\n    if(act==='rm') next=0;\n    if(act!=='rm' && next===q) return;\n    line.style.opacity='.5';\n    var p = next<=0\n      ? post('\/cart\/remove-item',{key:key})\n      : post('\/cart\/update-item',{key:key,quantity:next});\n    p.then(function(c){ render(c); changed(); })\n     .catch(function(){ line.style.opacity='1'; });\n  });\n\n  get().then(render).catch(function(){\n    root.querySelector('[data-lines]').innerHTML=\n      '<div class=\"scart__empty\"><p>'+L('Keranjang tidak dapat dimuat. Muat ulang halaman.','Your cart could not be loaded. Please reload the page.')+'<\/p><\/div>';\n  });\n  document.addEventListener('sigma:cart-refresh',function(){ get().then(render); });\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-14","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/sigmapeptides.co.id\/en\/wp-json\/wp\/v2\/pages\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sigmapeptides.co.id\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sigmapeptides.co.id\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sigmapeptides.co.id\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sigmapeptides.co.id\/en\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":2,"href":"https:\/\/sigmapeptides.co.id\/en\/wp-json\/wp\/v2\/pages\/14\/revisions"}],"predecessor-version":[{"id":1225,"href":"https:\/\/sigmapeptides.co.id\/en\/wp-json\/wp\/v2\/pages\/14\/revisions\/1225"}],"wp:attachment":[{"href":"https:\/\/sigmapeptides.co.id\/en\/wp-json\/wp\/v2\/media?parent=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}