{"id":460,"date":"2026-09-14T11:30:44","date_gmt":"2026-09-14T11:30:44","guid":{"rendered":"https:\/\/play360.online\/?page_id=460"},"modified":"2026-09-16T04:02:45","modified_gmt":"2026-09-16T04:02:45","slug":"register","status":"publish","type":"page","link":"https:\/\/play360.online\/?page_id=460","title":{"rendered":"register"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"460\" class=\"elementor elementor-460\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-34faa1b e-con e-atomic-element e-flexbox-base e-default-div e-585e798 \" data-id=\"34faa1b\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"34faa1b\" data-e-type=\"e-flexbox\" data-id=\"34faa1b\">\n    \t\t<div class=\"elementor-element elementor-element-e6c3b2e elementor-widget__width-initial elementor-widget elementor-widget-shortcode\" data-id=\"e6c3b2e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <style>\n        .p360-reg-otp-wrap{min-height:680px;padding:50px 16px;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at 10% 10%,rgba(99,102,241,.22),transparent 34%),radial-gradient(circle at 90% 90%,rgba(6,182,212,.18),transparent 35%),linear-gradient(135deg,#07111f,#111b34,#07111f)}\n        .p360-reg-otp-card{width:min(620px,100%);background:rgba(255,255,255,.98);border-radius:28px;padding:34px;box-shadow:0 25px 80px rgba(0,0,0,.35)}\n        .p360-reg-otp-brand{text-align:center}.p360-reg-otp-logo{width:64px;height:64px;border-radius:19px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;font-size:27px;font-weight:900}.p360-reg-otp-card h1{margin:0;color:#111827;font-size:30px}.p360-reg-otp-sub{color:#64748b;margin:8px 0 22px;text-align:center}.p360-reg-steps{display:flex;align-items:center;margin:0 0 24px}.p360-rstep{flex:1;text-align:center;font-size:12px;font-weight:700;color:#94a3b8}.p360-rstep i{display:flex;width:31px;height:31px;border-radius:50%;align-items:center;justify-content:center;margin:0 auto 6px;background:#e2e8f0;font-style:normal}.p360-rstep.active{color:#4f46e5}.p360-rstep.active i{background:#4f46e5;color:#fff}.p360-rline{height:2px;background:#e2e8f0;flex:1;margin-top:-20px}.p360-reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.p360-reg-grid label{font-weight:700;color:#334155;font-size:13px}.p360-reg-grid input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px 13px;border:1px solid #dbe3ee;border-radius:12px;background:#fff}.p360-reg-span{grid-column:1\/-1}.p360-reg-check{font-weight:500!important}.p360-reg-check input{display:inline-block;width:auto;margin-right:6px}.p360-reg-btn{width:100%;border:0;border-radius:13px;padding:14px;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;font-weight:800;cursor:pointer}.p360-reg-msg{display:none;margin:14px 0;padding:12px 14px;border-radius:12px;background:#eff6ff;color:#1e3a8a;font-size:13px}.p360-reg-msg.error{background:#fef2f2;color:#991b1b}.p360-otp-box{display:none;margin-top:18px;padding:22px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;text-align:center}.p360-otp-box h3{margin:0 0 7px;color:#111827}.p360-otp-input{font-size:25px!important;letter-spacing:9px;text-align:center!important;font-weight:800}.p360-reg-back{display:none;margin-top:10px;width:100%;background:#eef2ff;color:#4338ca;border:0;border-radius:12px;padding:12px;font-weight:700}.p360-reg-foot{text-align:center;margin-top:18px;color:#64748b;font-size:13px}.p360-reg-foot a{color:#4f46e5;font-weight:700}.p360-reg-spinner{opacity:.7}@media(max-width:600px){.p360-reg-otp-card{padding:23px 16px}.p360-reg-grid{grid-template-columns:1fr}.p360-reg-span{grid-column:auto}.p360-reg-otp-card h1{font-size:25px}}\n        <\/style>\n        <div class=\"p360-reg-otp-wrap\"><div class=\"p360-reg-otp-card\">\n          <div class=\"p360-reg-otp-brand\"><div class=\"p360-reg-otp-logo\">P<\/div><h1>Join Play360<\/h1><p class=\"p360-reg-otp-sub\">Create your account and verify your email securely.<\/p><\/div>\n          <div class=\"p360-reg-steps\"><div class=\"p360-rstep active\"><i>1<\/i>Register<\/div><div class=\"p360-rline\"><\/div><div class=\"p360-rstep\"><i>2<\/i>Verify<\/div><div class=\"p360-rline\"><\/div><div class=\"p360-rstep\"><i>3<\/i>Finish<\/div><\/div>\n          <div id=\"p360-reg-msg\" class=\"p360-reg-msg\"><\/div>\n          <form id=\"p360-attractive-register\" class=\"p360-reg-grid\" method=\"post\" action=\"\" autocomplete=\"on\"><input type=\"hidden\" name=\"p360_otp_registration_form\" value=\"1\">\n            <label>Display name<input name=\"name\" autocomplete=\"name\"><\/label>\n            <label>Username<input name=\"username\" autocomplete=\"username\" required><\/label>\n            <label class=\"p360-reg-span\">Email<input type=\"email\" name=\"email\" autocomplete=\"email\" required><\/label>\n            <label>Date of birth<input type=\"date\" name=\"dob\" required><\/label>\n            <label>Password<input type=\"password\" name=\"password\" autocomplete=\"new-password\" minlength=\"8\" required><\/label>\n            <label>Confirm password<input type=\"password\" name=\"confirm\" autocomplete=\"new-password\" minlength=\"8\" required><\/label>\n            <label class=\"p360-reg-span p360-reg-check\"><input type=\"checkbox\" name=\"terms\" value=\"1\" required> I confirm I meet the minimum age and accept the Terms & Conditions \u2014 <a href=\"https:\/\/play360.online\/elemedfsrtgjkjkntor-page-5bjhkj8968791\/\" target=\"_blank\" rel=\"noopener\">View Terms<\/a>.<\/label>\n            <button class=\"p360-reg-btn p360-reg-span\" type=\"submit\">Create Account<\/button>\n          <\/form>\n          <div id=\"p360-otp-box\" class=\"p360-otp-box\"><h3>Check your email<\/h3><p>Enter the 6-digit OTP sent to your email address.<\/p><input id=\"p360-reg-otp\" class=\"p360-otp-input\" inputmode=\"numeric\" maxlength=\"6\" autocomplete=\"one-time-code\" placeholder=\"\u2022\u2022\u2022\u2022\u2022\u2022\"><button id=\"p360-submit-otp\" class=\"p360-reg-btn\" type=\"button\" style=\"margin-top:14px\">Submit OTP<\/button><button id=\"p360-reg-back\" class=\"p360-reg-back\" type=\"button\">\u2190 Back to registration<\/button><\/div>\n          <div class=\"p360-reg-foot\">Already have an account? <a href=\"https:\/\/play360.online\/?p360_login=1\">Log in<\/a><\/div>\n        <\/div><\/div>\n        <script>\n        document.addEventListener('DOMContentLoaded',function(){\n          (function(){\n            const f=document.getElementById('p360-attractive-register'); if(!f)return;\n            const msg=document.getElementById('p360-reg-msg'),box=document.getElementById('p360-otp-box'),\n              otp=document.getElementById('p360-reg-otp'),submit=document.getElementById('p360-submit-otp'),\n              back=document.getElementById('p360-reg-back');\n            let nonce=\"ff01699ccb\", timer=null,left=0;\n            const ajax=\"https:\\\/\\\/play360.online\\\/wp-admin\\\/admin-ajax.php\";\n            let resend=document.getElementById('p360-resend-otp');\n            if(!resend){\n              resend=document.createElement('button'); resend.id='p360-resend-otp'; resend.type='button';\n              resend.className='p360-reg-btn'; resend.style.marginTop='10px'; resend.textContent='Resend OTP (30s)';\n              submit.parentNode.insertBefore(resend,back);\n            }\n            function show(text,error){msg.textContent=text;msg.className='p360-reg-msg'+(error?' error':'');msg.style.display='block'}\n            async function freshNonce(){\n              const d=new URLSearchParams();d.set('action','p360_register_nonce');\n              const r=await fetch(ajax,{method:'POST',credentials:'same-origin',cache:'no-store',headers:{'Content-Type':'application\/x-www-form-urlencoded'},body:d});\n              const j=await r.json();if(!j.success)throw new Error('nonce');nonce=j.data.nonce;return nonce;\n            }\n            async function call(action,d){\n              d.set('action',action);d.set('nonce',nonce);\n              const r=await fetch(ajax,{method:'POST',credentials:'same-origin',cache:'no-store',headers:{'Content-Type':'application\/x-www-form-urlencoded'},body:d});\n              const text=await r.text();\n              let j;try{j=JSON.parse(text)}catch(e){throw new Error('Server returned an invalid response. Check WordPress\/server error log.')}\n              if(r.status===403&&j&&j.data&&j.data.message==='Security check failed. Please refresh the page.'){\n                await freshNonce();d.set('nonce',nonce);\n                const rr=await fetch(ajax,{method:'POST',credentials:'same-origin',cache:'no-store',headers:{'Content-Type':'application\/x-www-form-urlencoded'},body:d});\n                const tt=await rr.text();try{return JSON.parse(tt)}catch(e){throw new Error('Server returned an invalid response.')}\n              }\n              return j;\n            }\n            function countdown(sec){\n              left=sec||30;resend.disabled=true;resend.textContent='Resend OTP ('+left+'s)';\n              clearInterval(timer);timer=setInterval(function(){left--;if(left<=0){clearInterval(timer);resend.disabled=false;resend.textContent='Resend OTP'}else resend.textContent='Resend OTP ('+left+'s)'},1000);\n            }\n            freshNonce().catch(function(){});\n            f.addEventListener('submit',async function(e){\n              e.preventDefault();show('Sending verification OTP\u2026');const b=f.querySelector('button[type=submit]');b.disabled=true;\n              try{\n                await freshNonce();const d=new URLSearchParams(new FormData(f));const r=await call('p360_register_send_otp',d);\n                if(r.success){show(r.data.message);f.style.display='none';box.style.display='block';document.querySelectorAll('.p360-rstep')[0].classList.remove('active');document.querySelectorAll('.p360-rstep')[1].classList.add('active');countdown(30);otp.focus()}\n                else show((r.data&&r.data.message)||'Unable to send OTP.',true);\n              }catch(x){show(x.message||'Unable to contact the server.',true)} b.disabled=false;\n            });\n            resend.addEventListener('click',async function(){\n              if(resend.disabled)return;\n              try{\n                await freshNonce();const d=new URLSearchParams();d.set('email',f.querySelector('[name=email]').value.trim());\n                const r=await call('p360_register_resend_otp',d);\n                if(r.success){show(r.data.message);countdown(Number(r.data.retry_after||30))}\n                else {show((r.data&&r.data.message)||'Unable to resend OTP.',true);countdown(Number((r.data&&r.data.retry_after)||30))}\n              }catch(x){show(x.message||'Unable to contact the server.',true);resend.disabled=false;resend.textContent='Resend OTP'}\n            });\n            submit.addEventListener('click',async function(){\n              const code=(otp.value||'').replace(\/\\D\/g,'');if(code.length!==6){show('Please enter the 6-digit OTP.',true);return}\n              submit.disabled=true;show('Creating your account\u2026');\n              try{\n                await freshNonce();const d=new URLSearchParams();d.set('email',f.querySelector('[name=email]').value.trim());d.set('otp',code);\n                const r=await call('p360_register_verify_otp',d);\n                if(r.success){\n                  clearInterval(timer);resend.style.display='none';submit.disabled=true;\n                  show(r.data.message||'Account created successfully.');\n                  document.querySelectorAll('.p360-rstep')[1].classList.remove('active');document.querySelectorAll('.p360-rstep')[2].classList.add('active');\n                  setTimeout(function(){window.location.replace(r.data.redirect||\"https:\\\/\\\/play360.online\\\/\")},500);\n                }else{show((r.data&&r.data.message)||'Unable to create account.',true);submit.disabled=false}\n              }catch(x){show(x.message||'Unable to create account. Please try again.',true);submit.disabled=false}\n            });\n            back.addEventListener('click',function(){box.style.display='none';f.style.display='grid';otp.value='';show('');clearInterval(timer);document.querySelectorAll('.p360-rstep')[1].classList.remove('active');document.querySelectorAll('.p360-rstep')[0].classList.add('active')});\n            otp.addEventListener('input',function(){otp.value=otp.value.replace(\/\\D\/g,'').slice(0,6)});\n          })();\n        });\n        <\/script>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\n<\/div>\n\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":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-460","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/play360.online\/index.php?rest_route=\/wp\/v2\/pages\/460","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/play360.online\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/play360.online\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/play360.online\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/play360.online\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=460"}],"version-history":[{"count":28,"href":"https:\/\/play360.online\/index.php?rest_route=\/wp\/v2\/pages\/460\/revisions"}],"predecessor-version":[{"id":618,"href":"https:\/\/play360.online\/index.php?rest_route=\/wp\/v2\/pages\/460\/revisions\/618"}],"wp:attachment":[{"href":"https:\/\/play360.online\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=460"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}