{"id":2554,"date":"2026-02-13T21:29:27","date_gmt":"2026-02-13T14:29:27","guid":{"rendered":"https:\/\/pojokbelajarcso.com\/student-registration\/"},"modified":"2026-02-13T21:29:27","modified_gmt":"2026-02-13T14:29:27","slug":"student-registration","status":"publish","type":"page","link":"https:\/\/pojokbelajarcso.com\/en\/student-registration\/","title":{"rendered":"Student Registration"},"content":{"rendered":"\n\n    \n    <div class=\"tutor-register-page\">\n        <div class=\"container-fluid p-0\">\n            <div class=\"register-wrapper\">\n                <div class=\"register-image-section\">\n                                            <img decoding=\"async\" width=\"300\" height=\"450\" src=\"https:\/\/pojokbelajarcso.com\/wp-content\/uploads\/2026\/03\/PBC-Homepage-Kursus.jpg\" class=\"attachment-full size-full\" alt=\"PBC Homepage Kursus\" srcset=\"https:\/\/pojokbelajarcso.com\/wp-content\/uploads\/2026\/03\/PBC-Homepage-Kursus.jpg 300w, https:\/\/pojokbelajarcso.com\/wp-content\/uploads\/2026\/03\/PBC-Homepage-Kursus-200x300.jpg 200w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>                                    <\/div>\n\n                <div class=\"register-form-section\">\n                    <div class=\"register-header\">\n                        <h1 class=\"register-title\">Daftar Akun<br>Pojok Belajar CSO<\/h1>\n                        <p class=\"register-subtitle\">Bagian dengan (*) wajib diisi<\/p>\n                    <\/div>\n\n                                            <div id=\"social-login-container\" class=\"social-login-container\">\n                            <div class=\"social-buttons\">\n                                                                    <button type=\"button\" class=\"social-btn google-btn\" onclick=\"handleSocialLogin('google')\">\n                                        <svg class=\"social-icon\" width=\"20\" height=\"20\" viewBox=\"0 0 48 48\"\n                                            xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                            <path fill=\"#EA4335\"\n                                                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\" \/>\n                                            <path fill=\"#4285F4\"\n                                                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\" \/>\n                                            <path fill=\"#FBBC05\"\n                                                d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\" \/>\n                                            <path fill=\"#34A853\"\n                                                d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.18 1.48-4.97 2.31-8.16 2.31-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\" \/>\n                                        <\/svg>\n                                        <span>Continue with Google<\/span>\n                                        <div class=\"loading-spinner\"><\/div>\n                                    <\/button>\n                                \n                                \n                                <button type=\"button\" class=\"social-btn email-btn\" onclick=\"showEmailForm()\">\n                                    <svg class=\"social-icon\" width=\"20\" height=\"20\" viewBox=\"0 0 32 32\" fill=\"none\"\n                                        xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                        <path\n                                            d=\"M26.667 5.33325H5.33366C3.86699 5.33325 2.68033 6.53325 2.68033 7.99992L2.66699 23.9999C2.66699 25.4666 3.86699 26.6666 5.33366 26.6666H26.667C28.1337 26.6666 29.3337 25.4666 29.3337 23.9999V7.99992C29.3337 6.53325 28.1337 5.33325 26.667 5.33325ZM26.667 10.6666L16.0003 17.3333L5.33366 10.6666V7.99992L16.0003 14.6666L26.667 7.99992V10.6666Z\"\n                                            fill=\"#008d9a\" \/>\n                                    <\/svg>\n                                    <span>Continue with Email<\/span>\n                                <\/button>\n                            <\/div>\n\n                            <div class=\"acf-form-text\" style=\"margin-top: 24px;\">\n                                <span>Sudah punya akun?<\/span>\n                                <a href=\"\/en\/dashboard\/\" class=\"acf-form-link-primary\">\n                                    Masuk di Sini                                <\/a>\n                            <\/div>\n                        <\/div>\n                    \n                    <div id=\"form-content\" class=\"form-content \">\n                        <div class=\"register-body\">\n                            \n                            <form method=\"post\" enctype=\"multipart\/form-data\" id=\"tutor-registration-form\" novalidate>\n                                                                <input type=\"hidden\" name=\"tutor_course_enroll_attempt\"\n                                    value=\"\">\n                                <input type=\"hidden\" name=\"return_url\" value=\"\">\n\n                                                                <input type=\"hidden\" id=\"_tutor_nonce\" name=\"_tutor_nonce\" value=\"7537b6ca78\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/2554\" \/>                                <input type=\"hidden\" value=\"tutor_register_student\" name=\"tutor_action\" \/>\n\n                                \n                                <div class=\"register-name-row\">\n                                    <div class=\"acf-form-group\">\n                                        <label for=\"first_name\" class=\"acf-form-label\">\n                                            Nama Depan <span style=\"color:red\">*<\/span>\n                                        <\/label>\n                                        <input type=\"text\" name=\"first_name\" id=\"first_name\" class=\"acf-form-input\"\n                                            value=\"\"\n                                            placeholder=\"Nama Depan\" autocomplete=\"given-name\">\n                                        <span class=\"acf-form-error\" id=\"error-first_name\"><\/span>\n                                    <\/div>\n\n                                    <div class=\"acf-form-group\">\n                                        <label for=\"last_name\" class=\"acf-form-label\">\n                                            Nama Belakang                                        <\/label>\n                                        <input type=\"text\" name=\"last_name\" id=\"last_name\" class=\"acf-form-input\"\n                                            value=\"\"\n                                            placeholder=\"Nama Belakang\" autocomplete=\"family-name\">\n                                    <\/div>\n                                <\/div>\n\n                                <div class=\"acf-form-group\">\n                                    <label for=\"user_login\" class=\"acf-form-label\">\n                                        Nama Pengguna <span style=\"color:red\">*<\/span>\n                                    <\/label>\n                                    <input type=\"text\" name=\"user_login\" id=\"user_login\" class=\"acf-form-input\"\n                                        value=\"\"\n                                        placeholder=\"Nama Pengguna\" autocomplete=\"username\">\n                                    <span class=\"acf-form-error\" id=\"error-user_login\"><\/span>\n                                    <span class=\"acf-form-helper\">Nama Pengguna tidak dapat diubah.<\/span>\n                                <\/div>\n\n                                <div class=\"acf-form-group\">\n                                    <label for=\"email\" class=\"acf-form-label\">\n                                        Alamat Email <span style=\"color:red\">*<\/span>\n                                    <\/label>\n                                    <input type=\"email\" name=\"email\" id=\"email\" class=\"acf-form-input\"\n                                        value=\"\"\n                                        placeholder=\"Alamat Email\" autocomplete=\"email\">\n                                    <span class=\"acf-form-error\" id=\"error-email\"><\/span>\n                                <\/div>\n\n                                <div class=\"acf-form-group\">\n                                    <label for=\"tutor-new-password\" class=\"acf-form-label\">\n                                        Kata Sandi <span style=\"color:red\">*<\/span>\n                                    <\/label>\n                                    <div class=\"acf-form-password-wrapper\">\n                                        <input type=\"password\" name=\"password\" id=\"tutor-new-password\"\n                                            class=\"acf-form-input\"\n                                            value=\"\"\n                                            placeholder=\"Kata Sandi\" autocomplete=\"new-password\">\n                                        <button type=\"button\" class=\"acf-form-password-toggle\"\n                                            onclick=\"togglePassword('tutor-new-password', 'toggleIcon1')\" tabindex=\"-1\">\n                                            <span class=\"acf-icon-eye\" id=\"toggleIcon1\"><\/span>\n                                        <\/button>\n                                    <\/div>\n                                    <span class=\"acf-form-error\" id=\"error-password\"><\/span>\n                                <\/div>\n\n                                <div class=\"acf-form-group\">\n                                    <label for=\"password_confirmation\" class=\"acf-form-label\">\n                                        Konfirmasi Kata Sandi <span style=\"color:red\">*<\/span>\n                                    <\/label>\n                                    <div class=\"acf-form-password-wrapper\">\n                                        <input type=\"password\" name=\"password_confirmation\" id=\"password_confirmation\"\n                                            class=\"acf-form-input\"\n                                            value=\"\"\n                                            placeholder=\"Masukkan ulang kata sandi\"\n                                            autocomplete=\"new-password\">\n                                        <button type=\"button\" class=\"acf-form-password-toggle\"\n                                            onclick=\"togglePassword('password_confirmation', 'toggleIcon2')\" tabindex=\"-1\">\n                                            <span class=\"acf-icon-eye\" id=\"toggleIcon2\"><\/span>\n                                        <\/button>\n                                    <\/div>\n                                    <span class=\"acf-form-error\" id=\"error-password_confirmation\"><\/span>\n                                <\/div>\n\n                                \t\t<input type=\"text\" style=\"display:none\" autocomplete=\"off\" value=\"\" name=\"_uuid\">\n\t\t\n                                                                    <div class=\"acf-form-text\" style=\"margin-bottom: 16px; text-align: left;\">\n                                        <span style=\"font-size: 14px;\">Dengan mendaftar, saya menyetujui<\/span>\n                                        <a href=\"https:\/\/pojokbelajarcso.com\/syarat-dan-ketentuan-layanan\/\" target=\"_blank\"\n                                            class=\"acf-form-link-primary\" style=\"font-size: 14px;\">Syarat dan Ketentuan<\/a>\n                                        <span style=\"font-size: 14px;\">website.<\/span>\n                                    <\/div>\n                                \n                                <button type=\"submit\" id=\"register-submit-btn\"\n                                    class=\"acf-btn acf-btn-darken acf-btn-medium acf-btn-block\">\n                                    <span class=\"acf-btn-text\">Daftar<\/span>\n                                    <span class=\"acf-btn-spinner\"><\/span>\n                                <\/button>\n\n                                <div class=\"acf-form-text\" style=\"margin-top: 16px;\">\n                                    <span>Sudah punya akun?<\/span>\n                                    <a href=\"\/en\/dashboard\/\" class=\"acf-form-link-primary\">\n                                        Masuk di Sini                                    <\/a>\n                                <\/div>\n\n                                                            <\/form>\n                        <\/div>\n                    <\/div>\n\n                    <div class=\"hidden-hook-output\"\n                        style=\"visibility:hidden; position:absolute; width:1px; height:1px; overflow:hidden;\">\n                        \t\t<style>\n\t\t\t#tutor-pro-twitter-login {\n\t\t\t\twidth: 400px; background-color: #00acee; border-color: #00acee; font-weight: bold;\n\t\t\t}\n\t\t<\/style>\n\t\t<div id=\"tutor-pro-social-authentication\" class=\"tutor-pt-24 tutor-d-flex tutor-flex-column tutor-align-center tutor-border-top-light\" style=\"gap: 10px;\">\n\t\t\t\t\t\t\t\t<div class=\"tutor-d-flex tutor-justify-center\" id=\"tutor-pro-google-authentication\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    \n    <script>\n        function togglePassword(fieldId, iconId) {\n            const passwordField = document.getElementById(fieldId);\n            const toggleIcon = document.getElementById(iconId);\n            if (passwordField.type === 'password') {\n                passwordField.type = 'text';\n                toggleIcon.classList.add('active');\n            } else {\n                passwordField.type = 'password';\n                toggleIcon.classList.remove('active');\n            }\n        }\n\n        function showEmailForm() {\n            const socialContainer = document.getElementById('social-login-container');\n            const formContent = document.getElementById('form-content');\n            if (socialContainer) socialContainer.style.display = 'none';\n            formContent.classList.add('show');\n        }\n\n        function showSocialLogin() {\n            const socialContainer = document.getElementById('social-login-container');\n            const formContent = document.getElementById('form-content');\n            if (socialContainer) socialContainer.style.display = 'block';\n            formContent.classList.remove('show');\n        }\n\n        function handleSocialLogin(provider) {\n            const btn = document.querySelector(`.${provider}-btn`);\n            if (!btn) return;\n\n            btn.classList.add('loading');\n            setTimeout(() => {\n                btn.classList.remove('loading');\n                btn.disabled = false;\n            }, 5000);\n\n            function tryClick(attempts) {\n                const selector = provider === 'google' ?\n                    '#tutor-pro-google-authentication [role=\"button\"]' :\n                    '#tutor-pro-facebook-authentication [role=\"button\"]';\n                const socialBtn = document.querySelector(selector);\n                if (socialBtn) {\n                    socialBtn.click();\n                } else if (attempts > 0) {\n                    setTimeout(() => tryClick(attempts - 1), 300);\n                } else if (provider === 'google' && typeof google !== 'undefined') {\n                    google.accounts.id.prompt();\n                }\n            }\n\n            tryClick(10);\n        }\n\n        function setError(fieldId, message) {\n            const field = document.getElementById(fieldId);\n            const error = document.getElementById('error-' + fieldId);\n            if (field) field.classList.add('error');\n            if (error) error.textContent = message;\n        }\n\n        function clearError(fieldId) {\n            const field = document.getElementById(fieldId);\n            const error = document.getElementById('error-' + fieldId);\n            if (field) field.classList.remove('error');\n            if (error) error.textContent = '';\n        }\n\n        function isValidEmail(email) {\n            return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email);\n        }\n\n        function isValidUsername(username) {\n            \/\/ Hanya huruf, angka, underscore, dash \u2014 tidak boleh ada spasi atau simbol lain\n            return \/^[a-zA-Z0-9_-]+$\/.test(username);\n        }\n\n        function validateForm() {\n            let isValid = true;\n\n            const firstNameVal = document.getElementById('first_name').value.trim();\n            const usernameVal = document.getElementById('user_login').value.trim();\n            const emailVal = document.getElementById('email').value.trim();\n            const passwordVal = document.getElementById('tutor-new-password').value;\n            const confirmVal = document.getElementById('password_confirmation').value;\n\n            \/\/ Nama Depan\n            clearError('first_name');\n            if (!firstNameVal) {\n                setError('first_name', 'Nama depan wajib diisi.');\n                isValid = false;\n            }\n\n            \/\/ Username\n            clearError('user_login');\n            if (!usernameVal) {\n                setError('user_login', 'Nama pengguna wajib diisi.');\n                isValid = false;\n            } else if (!isValidUsername(usernameVal)) {\n                setError('user_login', 'Nama pengguna hanya boleh berisi huruf, angka, underscore, dan dash. Tanpa spasi.');\n                isValid = false;\n            } else if (usernameVal.length < 4) {\n                setError('user_login', 'Nama pengguna minimal 4 karakter.');\n                isValid = false;\n            }\n\n            \/\/ Email\n            clearError('email');\n            if (!emailVal) {\n                setError('email', 'Alamat email wajib diisi.');\n                isValid = false;\n            } else if (!isValidEmail(emailVal)) {\n                setError('email', 'Format email tidak valid.');\n                isValid = false;\n            }\n\n            \/\/ Password\n            clearError('password');\n            if (!passwordVal) {\n                setError('password', 'Kata sandi wajib diisi.');\n                isValid = false;\n            } else if (passwordVal.length < 8) {\n                setError('password', 'Kata sandi minimal 8 karakter.');\n                isValid = false;\n            }\n\n            \/\/ Konfirmasi password\n            clearError('password_confirmation');\n            if (!confirmVal) {\n                setError('password_confirmation', 'Konfirmasi kata sandi wajib diisi.');\n                isValid = false;\n            } else if (confirmVal !== passwordVal) {\n                setError('password_confirmation', 'Konfirmasi kata sandi tidak cocok.');\n                isValid = false;\n            }\n\n            return isValid;\n        }\n\n        document.addEventListener('DOMContentLoaded', function() {\n            const urlParams = new URLSearchParams(window.location.search);\n            const hasErrors = document.querySelector('.tutor-alert');\n            const hasSocialLogin = true;\n\n            if (!hasSocialLogin || urlParams.get('method') === 'email' || hasErrors) {\n                showEmailForm();\n            }\n\n            const registrationForm = document.getElementById('tutor-registration-form');\n            const submitBtn = document.getElementById('register-submit-btn');\n\n            if (registrationForm && submitBtn) {\n\n                \/\/ Clear error on input\n                registrationForm.querySelectorAll('.acf-form-input').forEach(function(input) {\n                    input.addEventListener('input', function() {\n                        clearError(this.id);\n                    });\n                });\n\n                \/\/ Submit\n                registrationForm.addEventListener('submit', function(e) {\n                    e.preventDefault();\n\n                    if (!validateForm()) return;\n\n                    submitBtn.classList.add('loading');\n                    submitBtn.disabled = true;\n\n                    this.submit();\n                });\n\n                registrationForm.querySelectorAll('input[type=\"text\"], input[type=\"email\"], input[type=\"password\"]')\n                    .forEach(input => {\n                        input.addEventListener('keypress', function(e) {\n                            if (e.key === 'Enter') {\n                                e.preventDefault();\n                                submitBtn.click();\n                            }\n                        });\n                    });\n\n                setTimeout(function() {\n                    if (submitBtn && submitBtn.disabled) {\n                        submitBtn.classList.remove('loading');\n                        submitBtn.disabled = false;\n                    }\n                }, 5000);\n            }\n        });\n    <\/script>\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/page-blank.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2554","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/pojokbelajarcso.com\/en\/wp-json\/wp\/v2\/pages\/2554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pojokbelajarcso.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pojokbelajarcso.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pojokbelajarcso.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pojokbelajarcso.com\/en\/wp-json\/wp\/v2\/comments?post=2554"}],"version-history":[{"count":0,"href":"https:\/\/pojokbelajarcso.com\/en\/wp-json\/wp\/v2\/pages\/2554\/revisions"}],"wp:attachment":[{"href":"https:\/\/pojokbelajarcso.com\/en\/wp-json\/wp\/v2\/media?parent=2554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}