{"id":38685,"date":"2026-06-26T10:40:24","date_gmt":"2026-06-26T02:40:24","guid":{"rendered":"https:\/\/eshop.lungfung.hk\/member-register\/"},"modified":"2026-06-26T10:40:24","modified_gmt":"2026-06-26T02:40:24","slug":"member-register","status":"publish","type":"page","link":"https:\/\/eshop.lungfung.hk\/en\/member-register\/","title":{"rendered":"\u6703\u54e1\u767b\u8a18"},"content":{"rendered":"\t<div class=\"lf-member-wrap\">\n\t\t<div class=\"lf-member-card\">\n\t\t\t<h2>Member Registration<\/h2>\n\t\t\t\t\t\t<p><a class=\"lf-member-google\" href=\"https:\/\/eshop.lungfung.hk\/en\/member-login\/?lf_google_action=start&#038;context=register&#038;lf_google_nonce=916b02cb63\" data-lf-member-href-token=\"aHR0cHM6Ly9lc2hvcC5sdW5nZnVuZy5oay9lbi9tZW1iZXItbG9naW4vP2xmX2dvb2dsZV9hY3Rpb249c3RhcnQmIzAzODtjb250ZXh0PXJlZ2lzdGVyJiMwMzg7bGZfZ29vZ2xlX25vbmNlPTkxNmIwMmNiNjM%3D\"><span class=\"lf-member-google-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 48 48\" role=\"img\" focusable=\"false\" aria-hidden=\"true\"><path fill=\"#EA4335\" d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"\/><path fill=\"#4285F4\" d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"\/><path fill=\"#FBBC05\" d=\"M10.53 28.59A14.39 14.39 0 0 1 9.75 24c0-1.59.28-3.13.78-4.59l-7.98-6.19A23.86 23.86 0 0 0 0 24c0 3.87.92 7.53 2.56 10.78l7.97-6.19z\"\/><path fill=\"#34A853\" d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"\/><path fill=\"none\" d=\"M0 0h48v48H0z\"\/><\/svg><\/span><span>Continue with Google<\/span><\/a><\/p>\t\t\t<form class=\"lf-member-form\" method=\"post\" action=\"https:\/\/eshop.lungfung.hk\/en\/member-register\/\" data-lf-register-form=\"1\">\n\t\t\t\t<div class=\"lf-member-form-error\" data-lf-form-error role=\"alert\"><\/div>\n\t\t\t\t<input type=\"hidden\" id=\"lf_member_nonce\" name=\"lf_member_nonce\" value=\"eaab231d30\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/38685\" \/>\t\t\t\t<input type=\"hidden\" name=\"lf_member_action\" value=\"register\" \/>\n\t\t\t\t<div class=\"lf-member-grid\">\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span>Last name <span class=\"lf-required\" aria-hidden=\"true\">*<\/span><\/span>\n\t\t\t\t\t\t<input type=\"text\" name=\"shipping_last_name\" value=\"\" autocomplete=\"family-name\" required \/>\n\t\t\t\t\t<\/label>\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span>First name <span class=\"lf-required\" aria-hidden=\"true\">*<\/span><\/span>\n\t\t\t\t\t\t<input type=\"text\" name=\"shipping_first_name\" value=\"\" autocomplete=\"given-name\" required \/>\n\t\t\t\t\t<\/label>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"lf-member-grid\">\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span>Email <span class=\"lf-required\" aria-hidden=\"true\">*<\/span><\/span>\n\t\t\t\t\t\t<input type=\"email\" name=\"email\" value=\"\" autocomplete=\"email\" required \/>\n\t\t\t\t\t<\/label>\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span>Phone <span class=\"lf-required\" aria-hidden=\"true\">*<\/span><\/span>\n\t\t\t\t\t\t<input type=\"tel\" name=\"shipping_phone\" value=\"\" autocomplete=\"tel\" required \/>\n\t\t\t\t\t<\/label>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"lf-member-grid\">\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span>Password <span class=\"lf-required\" aria-hidden=\"true\">*<\/span><\/span>\n\t\t\t\t\t\t<input type=\"password\" name=\"password\" autocomplete=\"new-password\" required \/>\n\t\t\t\t\t<\/label>\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<span>Confirm password <span class=\"lf-required\" aria-hidden=\"true\">*<\/span><\/span>\n\t\t\t\t\t\t<input type=\"password\" name=\"password_confirm\" autocomplete=\"new-password\" required \/>\n\t\t\t\t\t<\/label>\n\t\t\t\t<\/div>\n\t\t\t\t<h3>Shipping address<\/h3>\n\t\t\t\t<label>\n\t\t\t\t\t<span>Shipping address line 1 <span class=\"lf-required\" aria-hidden=\"true\">*<\/span><\/span>\n\t\t\t\t\t<input type=\"text\" name=\"shipping_address_1\" value=\"\" autocomplete=\"shipping address-line1\" required \/>\n\t\t\t\t<\/label>\n\t\t\t\t<label>\n\t\t\t\t\t<span>Shipping address line 2<\/span>\n\t\t\t\t\t<input type=\"text\" name=\"shipping_address_2\" value=\"\" autocomplete=\"shipping address-line2\" \/>\n\t\t\t\t<\/label>\n\t\t\t\t<input type=\"hidden\" name=\"shipping_country\" value=\"HK\" \/>\n\t\t\t\t<label><span>Region <span class=\"lf-required\" aria-hidden=\"true\">*<\/span><\/span><select name=\"shipping_city\" autocomplete=\"shipping address-level2\" required><option value=\"\">Please choose<\/option><option value=\"\u9999\u6e2f\u5cf6\">Hong Kong Island<\/option><option value=\"\u4e5d\u9f8d\">Kowloon<\/option><option value=\"\u65b0\u754c\">New Territories<\/option><\/select><\/label>\t\t\t\t\t\t<script>\n\t\t(function(){\n\t\t\tif (window.lfMembershipTurnstileSetup) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\twindow.lfMembershipTurnstileSetup = true;\n\t\t\tvar cooldownKey = 'lf_member_register_submit_cooldown_until';\n\n\t\t\tfunction submitButton(form) {\n\t\t\t\treturn form ? form.querySelector('button[type=\"submit\"][data-lf-turnstile-submit], input[type=\"submit\"][data-lf-turnstile-submit]') : null;\n\t\t\t}\n\n\t\t\tfunction hasTurnstile(form) {\n\t\t\t\treturn !!(form && form.querySelector('.cf-turnstile'));\n\t\t\t}\n\n\t\t\tfunction turnstileReady(form) {\n\t\t\t\tvar response = form ? form.querySelector('[name=\"cf-turnstile-response\"]') : null;\n\t\t\t\treturn !!(response && response.value);\n\t\t\t}\n\n\t\t\tfunction cooldownRemaining(button) {\n\t\t\t\tif (!button || !button.hasAttribute('data-lf-register-submit')) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\tvar until = parseInt(window.localStorage.getItem(cooldownKey) || '0', 10);\n\t\t\t\treturn Math.max(0, Math.ceil((until - Date.now()) \/ 1000));\n\t\t\t}\n\n\t\t\tfunction updateButton(form) {\n\t\t\t\tvar button = submitButton(form);\n\t\t\t\tif (!button) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar defaultLabel = button.getAttribute('data-lf-default-label') || button.textContent;\n\t\t\t\tvar remaining = cooldownRemaining(button);\n\t\t\t\tif (remaining > 0) {\n\t\t\t\t\tbutton.disabled = true;\n\t\t\t\t\tbutton.textContent = \"Please wait \" + remaining + \" seconds\";\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tbutton.textContent = defaultLabel;\n\t\t\t\tbutton.disabled = hasTurnstile(form) && !turnstileReady(form);\n\t\t\t}\n\n\t\t\tfunction refreshForms() {\n\t\t\t\tdocument.querySelectorAll('form.lf-member-form').forEach(updateButton);\n\t\t\t}\n\n\t\t\tfunction requiredLabel(field) {\n\t\t\t\tvar label = field.closest('label');\n\t\t\t\tif (!label) {\n\t\t\t\t\treturn \"Required field\";\n\t\t\t\t}\n\t\t\t\tvar text = (label.querySelector('span') || label).textContent || \"Required field\";\n\t\t\t\treturn text.replace('*', '').trim();\n\t\t\t}\n\n\t\t\tfunction showRequiredError(form, field) {\n\t\t\t\tvar box = form.querySelector('[data-lf-form-error]');\n\t\t\t\tif (box) {\n\t\t\t\t\tbox.textContent = \"Please complete required field: \" + requiredLabel(field);\n\t\t\t\t\tbox.classList.add('is-visible');\n\t\t\t\t}\n\t\t\t\tform.querySelectorAll('.lf-member-invalid').forEach(function(label){\n\t\t\t\t\tlabel.classList.remove('lf-member-invalid');\n\t\t\t\t});\n\t\t\t\tvar label = field.closest('label');\n\t\t\t\tif (label) {\n\t\t\t\t\tlabel.classList.add('lf-member-invalid');\n\t\t\t\t}\n\t\t\t\tfield.scrollIntoView({ behavior: 'smooth', block: 'center' });\n\t\t\t\twindow.setTimeout(function(){ field.focus({ preventScroll: true }); }, 250);\n\t\t\t}\n\n\t\t\tfunction validateRequired(form) {\n\t\t\t\tvar required = Array.prototype.slice.call(form.querySelectorAll('[required]'));\n\t\t\t\tfor (var i = 0; i < required.length; i++) {\n\t\t\t\t\tvar field = required[i];\n\t\t\t\t\tif (field.disabled) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif ((field.type === 'checkbox' || field.type === 'radio') ? !field.checked : !String(field.value || '').trim()) {\n\t\t\t\t\t\tshowRequiredError(form, field);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar box = form.querySelector('[data-lf-form-error]');\n\t\t\t\tif (box) {\n\t\t\t\t\tbox.classList.remove('is-visible');\n\t\t\t\t\tbox.textContent = '';\n\t\t\t\t}\n\t\t\t\tform.querySelectorAll('.lf-member-invalid').forEach(function(label){\n\t\t\t\t\tlabel.classList.remove('lf-member-invalid');\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\twindow.lfMembershipTurnstileSuccess = function() {\n\t\t\t\twindow.setTimeout(refreshForms, 50);\n\t\t\t};\n\t\t\twindow.lfMembershipTurnstileReset = function() {\n\t\t\t\twindow.setTimeout(refreshForms, 50);\n\t\t\t};\n\n\t\t\tdocument.addEventListener('submit', function(event) {\n\t\t\t\tvar form = event.target;\n\t\t\t\tif (!form || !form.classList || !form.classList.contains('lf-member-form')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!validateRequired(form)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (hasTurnstile(form) && !turnstileReady(form)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tupdateButton(form);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar button = submitButton(form);\n\t\t\t\tif (button && button.hasAttribute('data-lf-register-submit')) {\n\t\t\t\t\twindow.localStorage.setItem(cooldownKey, String(Date.now() + 60000));\n\t\t\t\t\tupdateButton(form);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdocument.addEventListener('invalid', function(event) {\n\t\t\t\tvar field = event.target;\n\t\t\t\tvar form = field && field.form;\n\t\t\t\tif (!form || !form.classList || !form.classList.contains('lf-member-form')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tevent.preventDefault();\n\t\t\t\tshowRequiredError(form, field);\n\t\t\t}, true);\n\n\t\t\tdocument.addEventListener('DOMContentLoaded', refreshForms);\n\t\t\twindow.setInterval(refreshForms, 1000);\n\t\t})();\n\t\t<\/script>\n\t\t<div class=\"cf-turnstile\" data-sitekey=\"0x4AAAAAADqAom9XB5Dm8cjz\" data-callback=\"lfMembershipTurnstileSuccess\" data-expired-callback=\"lfMembershipTurnstileReset\" data-error-callback=\"lfMembershipTurnstileReset\"><\/div>\t\t\t\t<div class=\"lf-member-actions\">\n\t\t\t\t\t<button type=\"submit\" class=\"button\" disabled=\"disabled\" data-lf-turnstile-submit=\"1\" data-lf-register-submit=\"1\" data-lf-default-label=\"Register and send verification email\">Register and send verification email<\/button>\n\t\t\t\t\t<a href=\"https:\/\/eshop.lungfung.hk\/en\/member-login\/\" data-lf-member-href-token=\"aHR0cHM6Ly9lc2hvcC5sdW5nZnVuZy5oay9lbi9tZW1iZXItbG9naW4v\">Already have an account? Log in<\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/form>\n\t\t<\/div>\n\t<\/div>\n\t\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-38685","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/eshop.lungfung.hk\/en\/wp-json\/wp\/v2\/pages\/38685","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eshop.lungfung.hk\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eshop.lungfung.hk\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eshop.lungfung.hk\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/eshop.lungfung.hk\/en\/wp-json\/wp\/v2\/comments?post=38685"}],"version-history":[{"count":0,"href":"https:\/\/eshop.lungfung.hk\/en\/wp-json\/wp\/v2\/pages\/38685\/revisions"}],"wp:attachment":[{"href":"https:\/\/eshop.lungfung.hk\/en\/wp-json\/wp\/v2\/media?parent=38685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}