{"id":2910,"date":"2026-02-19T05:42:19","date_gmt":"2026-02-19T03:42:19","guid":{"rendered":"https:\/\/motj.webistory.com\/?page_id=2910"},"modified":"2026-03-07T10:46:33","modified_gmt":"2026-03-07T08:46:33","slug":"sign-in","status":"publish","type":"page","link":"https:\/\/motj.webistory.com\/en\/sign-in\/","title":{"rendered":"Sign in"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2910\" class=\"elementor elementor-2910 elementor-115\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-636f4ec oh-section e-flex e-con-boxed e-con e-child\" data-id=\"636f4ec\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-52b6ed9 e-con-full e-flex e-con e-child\" data-id=\"52b6ed9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-809f0aa elementor-widget elementor-widget-heading\" data-id=\"809f0aa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Personal Area<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36a8ce7 elementor-widget elementor-widget-wb_smart_auth\" data-id=\"36a8ce7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wb_smart_auth.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n            <style>\r\n                \/* Functional CSS - Aesthetics are handled by Elementor Controls *\/\r\n                #wb-auth-form-36a8ce7 { width: 100%; direction: rtl; }\r\n                #wb-auth-form-36a8ce7 .wb-form-group { margin-bottom: 20px; display: flex; flex-direction: column; gap: 8px; }\r\n                #wb-auth-form-36a8ce7 .wb-input { width: 100%; padding: 12px 16px; border: 1px solid; background: #fff; transition: 0.2s; box-sizing: border-box; }\r\n                #wb-auth-form-36a8ce7 .wb-btn { width: 100%; padding: 14px; border: none; cursor: pointer; transition: 0.2s; display: flex; justify-content: center; align-items: center; gap: 8px; font-weight: bold; }\r\n                #wb-auth-form-36a8ce7 .wb-btn:disabled, #wb-auth-form-36a8ce7 .wb-custom-google-btn:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }\r\n                #wb-auth-form-36a8ce7 .wb-custom-google-btn { width: 100%; padding: 14px; background: transparent; border: 1px solid; cursor: pointer; transition: all 0.2s ease; display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 16px; font-weight: bold; }\r\n                #wb-auth-form-36a8ce7 .wb-custom-google-btn svg { width: 22px; height: 22px; transition: transform 0.2s ease; }\r\n                #wb-auth-form-36a8ce7 .wb-custom-google-btn:hover svg { transform: scale(1.08); }\r\n                #wb-auth-form-36a8ce7 .wb-otp-notice { margin-bottom: 16px; }\r\n                #wb-auth-form-36a8ce7 .wb-otp-group { display: flex; gap: 8px; justify-content: space-between; direction: ltr; margin-bottom: 24px; }\r\n                #wb-auth-form-36a8ce7 .wb-otp-input { width: 100%; aspect-ratio: 1; text-align: center; font-size: 20px; font-weight: 700; border: 1px solid; transition: 0.2s; padding: 0; }\r\n                #wb-auth-form-36a8ce7 .wb-error { font-size: 13px; margin-top: 8px; margin-bottom: 16px; text-align: center; display: none; font-weight: 600; }\r\n                #wb-auth-form-36a8ce7 .wb-back-btn { background: none; border: none; font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: underline; padding: 0; margin-top: 16px; display: inline-block; transition: color 0.2s; }\r\n                #wb-auth-form-36a8ce7 .wb-step-otp { display: none; }\r\n                #wb-auth-form-36a8ce7 .wb-spinner { display: none; width: 20px; height: 20px; animation: wb-spin 1s linear infinite; }\r\n                @keyframes wb-spin { 100% { transform: rotate(360deg); } }\r\n            <\/style>\r\n\r\n            <div class=\"wb-auth-form-wrapper\" id=\"wb-auth-form-36a8ce7\" data-config=\"{&quot;id&quot;:&quot;wb-auth-form-36a8ce7&quot;,&quot;ajaxurl&quot;:&quot;https:\\\/\\\/motj.webistory.com\\\/wp-admin\\\/admin-ajax.php&quot;,&quot;nonce&quot;:&quot;331b94e74f&quot;,&quot;client_id&quot;:&quot;420672391409-7rcvq2lkuijr1jkft0649a50ri0k0jie.apps.googleusercontent.com&quot;,&quot;redirect_new&quot;:&quot;https:\\\/\\\/motj.webistory.com\\\/dashboard\\\/&quot;,&quot;redirect_exist&quot;:&quot;https:\\\/\\\/motj.webistory.com\\\/dashboard\\\/&quot;,&quot;subject&quot;:&quot;Your site authentication code&quot;,&quot;email_template&quot;:&quot;&quot;,&quot;errors&quot;:{&quot;INVALID_EMAIL&quot;:&quot;Invalid email address&quot;,&quot;COOLDOWN&quot;:&quot;A code was recently sent to you. Please wait a minute.&quot;,&quot;SEND_FAILED&quot;:&quot;Server email sending error.&quot;,&quot;INVALID_OTP&quot;:&quot;Incorrect or expired code&quot;,&quot;OTP_LENGTH&quot;:&quot;Please enter a 6-digit code&quot;,&quot;NETWORK&quot;:&quot;Network error. Please try again.&quot;,&quot;GOOGLE_FALLBACK&quot;:&quot;Error signing in with Google&quot;}}\">\r\n                \r\n                <!-- STEP 1: EMAIL & GOOGLE -->\r\n                <div class=\"wb-step-email\">\r\n                    <form class=\"wb-email-form\">\r\n                        <div class=\"wb-form-group\">\r\n                            <label class=\"wb-form-label\">Email<\/label>\r\n                            <input type=\"email\" class=\"wb-input wb-email-input\" placeholder=\"name@example.com\" required>\r\n                        <\/div>\r\n                        \r\n                        <div class=\"wb-error wb-email-error\"><\/div>\r\n                        \r\n                        <button type=\"submit\" class=\"wb-btn wb-btn-send\">\r\n                            <span class=\"wb-btn-text\">Continue with Email<\/span>\r\n                            <svg class=\"wb-spinner\" viewBox=\"0 0 50 50\"><circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"5\" stroke-dasharray=\"30 100\" stroke-linecap=\"round\"><\/circle><\/svg>\r\n                        <\/button>\r\n                    <\/form>\r\n\r\n                                            <button type=\"button\" class=\"wb-custom-google-btn wb-btn-google\">\r\n                            <svg class=\"wb-g-icon\" viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                <path d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\" fill=\"#4285F4\"\/>\r\n                                <path d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\" fill=\"#34A853\"\/>\r\n                                <path d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\" fill=\"#FBBC05\"\/>\r\n                                <path d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\" fill=\"#EA4335\"\/>\r\n                                <path d=\"M1 1h22v22H1z\" fill=\"none\"\/>\r\n                            <\/svg>\r\n                            <span class=\"wb-btn-text\">Continue with Google<\/span>\r\n                            <svg class=\"wb-spinner\" viewBox=\"0 0 50 50\"><circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"5\" stroke-dasharray=\"30 100\" stroke-linecap=\"round\"><\/circle><\/svg>\r\n                        <\/button>\r\n                                    <\/div>\r\n\r\n                <!-- STEP 2: OTP VERIFICATION -->\r\n                <div class=\"wb-step-otp\">\r\n                    <div class=\"wb-otp-notice\">\r\n                        Enter the authentication code sent to:<br>\r\n                        <strong class=\"wb-display-email\" style=\"direction: ltr; display: inline-block; margin-top: 4px;\"><\/strong>\r\n                    <\/div>\r\n\r\n                    <form class=\"wb-otp-form\">\r\n                        <div class=\"wb-otp-group\">\r\n                            <input type=\"text\" class=\"wb-otp-input\" maxlength=\"1\" pattern=\"[0-9]\" inputmode=\"numeric\" autocomplete=\"one-time-code\" required>\r\n                            <input type=\"text\" class=\"wb-otp-input\" maxlength=\"1\" pattern=\"[0-9]\" inputmode=\"numeric\" required>\r\n                            <input type=\"text\" class=\"wb-otp-input\" maxlength=\"1\" pattern=\"[0-9]\" inputmode=\"numeric\" required>\r\n                            <input type=\"text\" class=\"wb-otp-input\" maxlength=\"1\" pattern=\"[0-9]\" inputmode=\"numeric\" required>\r\n                            <input type=\"text\" class=\"wb-otp-input\" maxlength=\"1\" pattern=\"[0-9]\" inputmode=\"numeric\" required>\r\n                            <input type=\"text\" class=\"wb-otp-input\" maxlength=\"1\" pattern=\"[0-9]\" inputmode=\"numeric\" required>\r\n                        <\/div>\r\n                        \r\n                        <div class=\"wb-error wb-otp-error\"><\/div>\r\n                        \r\n                        <button type=\"submit\" class=\"wb-btn wb-btn-verify\">\r\n                            <span class=\"wb-btn-text\">Verify and Sign In<\/span>\r\n                            <svg class=\"wb-spinner\" viewBox=\"0 0 50 50\"><circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"5\" stroke-dasharray=\"30 100\" stroke-linecap=\"round\"><\/circle><\/svg>\r\n                        <\/button>\r\n                        \r\n                        <div style=\"text-align: center; margin-top: 16px;\">\r\n                            <button type=\"button\" class=\"wb-back-btn\">Back<\/button>\r\n                        <\/div>\r\n                    <\/form>\r\n                <\/div>\r\n\r\n            <\/div>\r\n\r\n            <script>\r\n                (function() {\r\n                    const wrapper = document.getElementById('wb-auth-form-36a8ce7');\r\n                    if (!wrapper || wrapper.dataset.initDone) return;\r\n                    wrapper.dataset.initDone = \"true\";\r\n\r\n                    const config = JSON.parse(wrapper.dataset.config);\r\n                    \r\n                    \/\/ DOM Elements scoped to this instance\r\n                    const els = {\r\n                        stepEmail: wrapper.querySelector('.wb-step-email'),\r\n                        stepOtp: wrapper.querySelector('.wb-step-otp'),\r\n                        emailForm: wrapper.querySelector('.wb-email-form'),\r\n                        otpForm: wrapper.querySelector('.wb-otp-form'),\r\n                        emailInput: wrapper.querySelector('.wb-email-input'),\r\n                        emailDisplay: wrapper.querySelector('.wb-display-email'),\r\n                        otpInputs: wrapper.querySelectorAll('.wb-otp-input'),\r\n                        btnSend: wrapper.querySelector('.wb-btn-send'),\r\n                        btnVerify: wrapper.querySelector('.wb-btn-verify'),\r\n                        btnGoogle: wrapper.querySelector('.wb-btn-google'),\r\n                        btnBack: wrapper.querySelector('.wb-back-btn'),\r\n                        errEmail: wrapper.querySelector('.wb-email-error'),\r\n                        errOtp: wrapper.querySelector('.wb-otp-error')\r\n                    };\r\n\r\n                    let currentEmail = '';\r\n\r\n                    \/\/ Google Auth Setup\r\n                    if (els.btnGoogle) {\r\n                        if (config.client_id && config.client_id !== '1234.apps.googleusercontent.com') {\r\n                            let tokenClient;\r\n                            const initG = () => {\r\n                                if (window.google && window.google.accounts) {\r\n                                    tokenClient = google.accounts.oauth2.initTokenClient({\r\n                                        client_id: config.client_id,\r\n                                        scope: 'email profile',\r\n                                        callback: (res) => {\r\n                                            if (res && res.access_token) handleGoogleAuth(res.access_token);\r\n                                        }\r\n                                    });\r\n                                } else {\r\n                                    setTimeout(initG, 200);\r\n                                }\r\n                            };\r\n                            initG();\r\n\r\n                            els.btnGoogle.addEventListener('click', () => {\r\n                                if (tokenClient) tokenClient.requestAccessToken();\r\n                                else showError(els.errEmail, '\u05e9\u05d9\u05e8\u05d5\u05ea\u05d9 \u05d2\u05d5\u05d2\u05dc \u05d8\u05e8\u05dd \u05e0\u05d8\u05e2\u05e0\u05d5. \u05d0\u05e0\u05d0 \u05d4\u05de\u05ea\u05df.', 'GOOGLE_FALLBACK');\r\n                            });\r\n                        } else {\r\n                            \/\/ Backend API key is not configured, show explicit warning instead of failing silently\r\n                            els.btnGoogle.addEventListener('click', () => {\r\n                                showError(els.errEmail, '\u26a0\ufe0f \u05e9\u05d2\u05d9\u05d0\u05d4: \u05d9\u05e9 \u05dc\u05d4\u05d6\u05d9\u05df Google Client ID \u05d1\u05e7\u05d5\u05d3 \u05d4-PHP (backend) \u05db\u05d3\u05d9 \u05e9\u05d4\u05d7\u05d9\u05d1\u05d5\u05e8 \u05d9\u05e2\u05d1\u05d5\u05d3.', 'GOOGLE_FALLBACK');\r\n                            });\r\n                        }\r\n                    }\r\n\r\n                    \/\/ Utils\r\n                    const setBtnLoading = (btn, isLoading) => {\r\n                        if(!btn) return;\r\n                        btn.disabled = isLoading;\r\n                        const text = btn.querySelector('.wb-btn-text');\r\n                        const spinner = btn.querySelector('.wb-spinner');\r\n                        const icon = btn.querySelector('.wb-g-icon');\r\n                        if (text) text.style.display = isLoading ? 'none' : 'block';\r\n                        if (icon) icon.style.display = isLoading ? 'none' : 'block';\r\n                        if (spinner) spinner.style.display = isLoading ? 'block' : 'none';\r\n                    };\r\n\r\n                    const getErrorString = (serverData, fallbackKey) => {\r\n                        if (serverData && typeof serverData === 'object' && serverData.code) {\r\n                            return config.errors[serverData.code] || serverData.message || config.errors[fallbackKey];\r\n                        }\r\n                        \/\/ Allow explicit strings to be shown directly (like our missing Client ID warning)\r\n                        if (typeof serverData === 'string' && serverData.trim() !== '') {\r\n                            return serverData;\r\n                        }\r\n                        return config.errors[fallbackKey] || serverData;\r\n                    };\r\n\r\n                    const showError = (el, rawData, fallbackKey) => {\r\n                        el.innerText = getErrorString(rawData, fallbackKey);\r\n                        el.style.display = 'block';\r\n                        setTimeout(() => el.style.display = 'none', 7000);\r\n                    };\r\n\r\n                    const getCSSVar = (name) => {\r\n                        return getComputedStyle(wrapper).getPropertyValue(name).trim() || '#162f56';\r\n                    };\r\n\r\n                    \/\/ OTP Input Interaction\r\n                    els.otpInputs.forEach((input, index) => {\r\n                        input.addEventListener('input', (e) => {\r\n                            if (e.target.value.length > 1) e.target.value = e.target.value.slice(0, 1);\r\n                            if (e.target.value !== '' && index < els.otpInputs.length - 1) els.otpInputs[index + 1].focus();\r\n                        });\r\n                        input.addEventListener('keydown', (e) => {\r\n                            if (e.key === 'Backspace' && e.target.value === '' && index > 0) els.otpInputs[index - 1].focus();\r\n                        });\r\n                        input.addEventListener('paste', (e) => {\r\n                            e.preventDefault();\r\n                            const pasteData = e.clipboardData.getData('text').replace(\/\\D\/g, '').slice(0, 6);\r\n                            for (let i = 0; i < pasteData.length; i++) els.otpInputs[i].value = pasteData[i];\r\n                            if (pasteData.length > 0) els.otpInputs[Math.min(pasteData.length, 5)].focus();\r\n                        });\r\n                    });\r\n\r\n                    \/\/ Actions\r\n                    els.btnBack.addEventListener('click', () => {\r\n                        els.stepOtp.style.display = 'none';\r\n                        els.stepEmail.style.display = 'block';\r\n                        els.otpInputs.forEach(input => input.value = '');\r\n                    });\r\n\r\n                    els.emailForm.addEventListener('submit', async (e) => {\r\n                        e.preventDefault();\r\n                        currentEmail = els.emailInput.value.trim();\r\n                        setBtnLoading(els.btnSend, true);\r\n\r\n                        const fd = new FormData();\r\n                        fd.append('action', 'wb_smart_auth_send_otp');\r\n                        fd.append('security', config.nonce);\r\n                        fd.append('email', currentEmail);\r\n                        fd.append('subject', config.subject);\r\n                        fd.append('btn_color', getCSSVar('--wb-primary-color'));\r\n                        \r\n                        \/\/ Pass custom template if enabled\r\n                        if (config.email_template) fd.append('email_template', config.email_template);\r\n\r\n                        try {\r\n                            const res = await fetch(config.ajaxurl, { method: 'POST', body: fd });\r\n                            const data = await res.json();\r\n                            if (data.success) {\r\n                                els.stepEmail.style.display = 'none';\r\n                                els.stepOtp.style.display = 'block';\r\n                                els.emailDisplay.innerText = currentEmail;\r\n                                els.otpInputs[0].focus();\r\n                            } else {\r\n                                showError(els.errEmail, data.data, 'SEND_FAILED');\r\n                            }\r\n                        } catch (err) {\r\n                            showError(els.errEmail, null, 'NETWORK');\r\n                        }\r\n                        setBtnLoading(els.btnSend, false);\r\n                    });\r\n\r\n                    els.otpForm.addEventListener('submit', async (e) => {\r\n                        e.preventDefault();\r\n                        let code = '';\r\n                        els.otpInputs.forEach(i => code += i.value);\r\n                        if (code.length < 6) return showError(els.errOtp, null, 'OTP_LENGTH');\r\n\r\n                        setBtnLoading(els.btnVerify, true);\r\n                        \r\n                        const fd = new FormData();\r\n                        fd.append('action', 'wb_smart_auth_verify_otp');\r\n                        fd.append('security', config.nonce);\r\n                        fd.append('email', currentEmail);\r\n                        fd.append('code', code);\r\n                        fd.append('redirect_new', config.redirect_new);\r\n                        fd.append('redirect_exist', config.redirect_exist);\r\n\r\n                        try {\r\n                            const res = await fetch(config.ajaxurl, { method: 'POST', body: fd });\r\n                            const data = await res.json();\r\n                            if (data.success && data.data.redirect) {\r\n                                window.location.href = data.data.redirect;\r\n                            } else {\r\n                                showError(els.errOtp, data.data, 'INVALID_OTP');\r\n                                els.otpInputs.forEach(i => i.value = '');\r\n                                els.otpInputs[0].focus();\r\n                                setBtnLoading(els.btnVerify, false);\r\n                            }\r\n                        } catch (err) {\r\n                            showError(els.errOtp, null, 'NETWORK');\r\n                            setBtnLoading(els.btnVerify, false);\r\n                        }\r\n                    });\r\n\r\n                    async function handleGoogleAuth(token) {\r\n                        setBtnLoading(els.btnGoogle, true);\r\n                        const fd = new FormData();\r\n                        fd.append('action', 'wb_smart_auth_google');\r\n                        fd.append('security', config.nonce);\r\n                        fd.append('access_token', token);\r\n                        fd.append('redirect_new', config.redirect_new);\r\n                        fd.append('redirect_exist', config.redirect_exist);\r\n\r\n                        try {\r\n                            const res = await fetch(config.ajaxurl, { method: 'POST', body: fd });\r\n                            const data = await res.json();\r\n                            if (data.success && data.data.redirect) {\r\n                                window.location.href = data.data.redirect;\r\n                            } else {\r\n                                showError(els.errEmail, data.data, 'GOOGLE_FALLBACK');\r\n                                setBtnLoading(els.btnGoogle, false);\r\n                            }\r\n                        } catch (err) {\r\n                            showError(els.errEmail, null, 'NETWORK');\r\n                            setBtnLoading(els.btnGoogle, false);\r\n                        }\r\n                    }\r\n                })();\r\n            <\/script>\r\n            \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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":"<p>Personal Area \/* Functional CSS &#8211; Aesthetics are handled by Elementor Controls *\/ #wb-auth-form-36a8ce7 { width: 100%; direction: rtl; } #wb-auth-form-36a8ce7 .wb-form-group { margin-bottom: 20px; display: flex; flex-direction: column; gap: 8px; } #wb-auth-form-36a8ce7 .wb-input { width: 100%; padding: 12px 16px; border: 1px solid; background: #fff; transition: 0.2s; box-sizing: border-box; } #wb-auth-form-36a8ce7 .wb-btn { width: 100%; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"header_image":"","footnotes":""},"hf_cat_page":[],"class_list":["post-2910","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/motj.webistory.com\/en\/wp-json\/wp\/v2\/pages\/2910","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/motj.webistory.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/motj.webistory.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/motj.webistory.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/motj.webistory.com\/en\/wp-json\/wp\/v2\/comments?post=2910"}],"version-history":[{"count":2,"href":"https:\/\/motj.webistory.com\/en\/wp-json\/wp\/v2\/pages\/2910\/revisions"}],"predecessor-version":[{"id":2969,"href":"https:\/\/motj.webistory.com\/en\/wp-json\/wp\/v2\/pages\/2910\/revisions\/2969"}],"wp:attachment":[{"href":"https:\/\/motj.webistory.com\/en\/wp-json\/wp\/v2\/media?parent=2910"}],"wp:term":[{"taxonomy":"hf_cat_page","embeddable":true,"href":"https:\/\/motj.webistory.com\/en\/wp-json\/wp\/v2\/hf_cat_page?post=2910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}