{"id":160,"date":"2026-08-16T14:05:30","date_gmt":"2026-08-16T14:05:30","guid":{"rendered":"https:\/\/whytelabel.nl\/de\/my-account\/"},"modified":"2026-08-16T14:05:30","modified_gmt":"2026-08-16T14:05:30","slug":"my-account","status":"publish","type":"page","link":"https:\/\/whytelabel.nl\/de\/my-account\/","title":{"rendered":"My Account"},"content":{"rendered":"<div class=\"wp-block-ggmc-customer-account\"><div class=\"ggmc-customer-account-widget\">    <div class=\"auth-forms-container\">\r\n                        <div class=\"login-form-container\">\r\n        <h3>Login<\/h3>\r\n        <form class=\"login-form\" data-redirect=\"https:\/\/whytelabel.nl\/de\/my-account\/\">\r\n            <div class=\"form-group\">\r\n                <label>Username or Email<\/label>\r\n                <input type=\"text\" name=\"username\" required>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n                <label>Password<\/label>\r\n                <input type=\"password\" name=\"password\" required>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n                <label>\r\n                    <input type=\"checkbox\" name=\"remember\"> Remember me                <\/label>\r\n            <\/div>\r\n            <button type=\"submit\" class=\"btn-login\">Login<\/button>\r\n        <\/form>\r\n    <\/div>\r\n            \r\n                        <div class=\"register-form-container\">\r\n        <h3>Register<\/h3>\r\n        <form class=\"register-form\" data-redirect=\"https:\/\/whytelabel.nl\/de\/my-account\/\">\r\n                        <input type=\"hidden\" name=\"account_type\" value=\"individual\">\r\n            \r\n            <div class=\"form-row\">\r\n                <div class=\"form-group\">\r\n                    <label>First Name<\/label>\r\n                    <input type=\"text\" name=\"first_name\" required>\r\n                <\/div>\r\n                <div class=\"form-group\">\r\n                    <label>Last Name<\/label>\r\n                    <input type=\"text\" name=\"last_name\" required>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Business fields (shown when business account type is selected or business_only mode) -->\r\n            <div class=\"business-fields\" style=\"display: none;\">\r\n                <div class=\"form-group\">\r\n                    <label>Company Name <span class=\"required\">*<\/span><\/label>\r\n                    <input type=\"text\" name=\"company_name\" >\r\n                <\/div>\r\n                <div class=\"form-group\">\r\n                    <label>Tax Number<\/label>\r\n                    <input type=\"text\" name=\"tax_id\" placeholder=\"e.g., GB123456789\">\r\n                    <p class=\"field-description\">\r\n                        Optional: Enter your Tax number to apply for tax exemption.                    <\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"form-group\">\r\n                <label>Username<\/label>\r\n                <input type=\"text\" name=\"username\" required>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n                <label>Email<\/label>\r\n                <input type=\"email\" name=\"email\" required>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n                <label>Password<\/label>\r\n                <input type=\"password\" name=\"password\" required>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n                <label>Confirm Password<\/label>\r\n                <input type=\"password\" name=\"confirm_password\" required>\r\n            <\/div>\r\n            <button type=\"submit\" class=\"btn-register\">Register<\/button>\r\n        <\/form>\r\n    <\/div>\r\n                <\/div>\r\n    <\/div>    <style>\r\n        .auth-message { padding: 10px 14px; border-radius: 4px; margin-bottom: 15px; font-size: 14px; }\r\n        .auth-error { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }\r\n        .auth-success { background: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; }\r\n    <\/style>\r\n        <script>\r\n        jQuery(document).ready(function($) {\r\n            const addressNonce = '364f7168ab';\r\n            const orderNonce = '7d917c69b1';\r\n            const authNonce = 'b5f6ad4b15';\r\n            const ajaxUrl = 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php';\r\n\r\n            \/\/ Login form submission\r\n            $('.login-form').on('submit', function(e) {\r\n                e.preventDefault();\r\n                const $form = $(this);\r\n                const $btn = $form.find('.btn-login');\r\n                const originalText = $btn.text();\r\n\r\n                $btn.prop('disabled', true).text('Logging in...');\r\n                $form.find('.auth-message').remove();\r\n\r\n                $.ajax({\r\n                    url: ajaxUrl,\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggm_commerce_login',\r\n                        nonce: authNonce,\r\n                        username: $form.find('input[name=\"username\"]').val(),\r\n                        password: $form.find('input[name=\"password\"]').val(),\r\n                        remember: $form.find('input[name=\"remember\"]').is(':checked') ? 'true' : 'false'\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            const redirect = $form.data('redirect');\r\n                            window.location.href = redirect || window.location.href;\r\n                        } else {\r\n                            $btn.prop('disabled', false).text(originalText);\r\n                            $form.prepend('<div class=\"auth-message auth-error\">' + response.data.message + '<\/div>');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        $btn.prop('disabled', false).text(originalText);\r\n                        $form.prepend('<div class=\"auth-message auth-error\">An error occurred. Please try again.<\/div>');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Register form submission\r\n            $('.register-form').on('submit', function(e) {\r\n                e.preventDefault();\r\n                const $form = $(this);\r\n                const $btn = $form.find('.btn-register');\r\n                const originalText = $btn.text();\r\n\r\n                \/\/ Client-side password match check\r\n                const password = $form.find('input[name=\"password\"]').val();\r\n                const confirmPassword = $form.find('input[name=\"confirm_password\"]').val();\r\n                if (password !== confirmPassword) {\r\n                    $form.find('.auth-message').remove();\r\n                    $form.prepend('<div class=\"auth-message auth-error\">Passwords do not match.<\/div>');\r\n                    return;\r\n                }\r\n\r\n                $btn.prop('disabled', true).text('Registering...');\r\n                $form.find('.auth-message').remove();\r\n\r\n                const data = {\r\n                    action: 'ggm_commerce_register',\r\n                    nonce: authNonce,\r\n                    first_name: $form.find('input[name=\"first_name\"]').val(),\r\n                    last_name: $form.find('input[name=\"last_name\"]').val(),\r\n                    username: $form.find('input[name=\"username\"]').val(),\r\n                    email: $form.find('input[name=\"email\"]').val(),\r\n                    password: password,\r\n                    confirm_password: confirmPassword\r\n                };\r\n\r\n                \/\/ Include business fields if present\r\n                const accountType = $form.find('input[name=\"account_type\"]:checked').val() || $form.find('input[name=\"account_type\"]').val();\r\n                if (accountType) data.account_type = accountType;\r\n                const companyName = $form.find('input[name=\"company_name\"]').val();\r\n                if (companyName) data.company_name = companyName;\r\n                const taxId = $form.find('input[name=\"tax_id\"]').val();\r\n                if (taxId) data.tax_id = taxId;\r\n\r\n                $.ajax({\r\n                    url: ajaxUrl,\r\n                    type: 'POST',\r\n                    data: data,\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            const redirect = $form.data('redirect');\r\n                            window.location.href = redirect || window.location.href;\r\n                        } else {\r\n                            $btn.prop('disabled', false).text(originalText);\r\n                            $form.prepend('<div class=\"auth-message auth-error\">' + response.data.message + '<\/div>');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        $btn.prop('disabled', false).text(originalText);\r\n                        $form.prepend('<div class=\"auth-message auth-error\">An error occurred. Please try again.<\/div>');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Account type toggle for registration form\r\n            $('input[name=\"account_type\"]').on('change', function() {\r\n                const isBusinessSelected = $(this).val() === 'business';\r\n                const businessFields = $(this).closest('form').find('.business-fields');\r\n                const companyInput = businessFields.find('input[name=\"company_name\"]');\r\n\r\n                if (isBusinessSelected) {\r\n                    businessFields.slideDown(200);\r\n                    companyInput.prop('required', true);\r\n                } else {\r\n                    businessFields.slideUp(200);\r\n                    companyInput.prop('required', false);\r\n                }\r\n            });\r\n\r\n            \/\/ Tab functionality\r\n            function activateTab(tabId) {\r\n                $('.tab-link').removeClass('active');\r\n                $('.tab-content').removeClass('active');\r\n\r\n                $('.tab-link[data-tab=\"' + tabId + '\"]').addClass('active');\r\n                $('#' + tabId).addClass('active');\r\n            }\r\n\r\n            $('.tab-link').click(function() {\r\n                var tabId = $(this).data('tab');\r\n                activateTab(tabId);\r\n                \/\/ Update URL hash without scrolling\r\n                history.replaceState(null, null, '#' + tabId);\r\n            });\r\n\r\n            \/\/ Restore tab from URL hash on page load\r\n            if (window.location.hash) {\r\n                var hashTab = window.location.hash.substring(1);\r\n                if ($('#' + hashTab).length && $('.tab-link[data-tab=\"' + hashTab + '\"]').length) {\r\n                    activateTab(hashTab);\r\n                }\r\n            }\r\n\r\n            \/\/ Helper to reload page and return to a specific tab\r\n            function reloadToTab(tabId) {\r\n                window.location.href = window.location.pathname + window.location.search + '#' + tabId;\r\n                window.location.reload();\r\n            }\r\n\r\n            \/\/ ===== ORDER VIEW FUNCTIONALITY =====\r\n\r\n            \/\/ View Order button click\r\n            $(document).on('click', '.btn-view-order', function(e) {\r\n                e.preventDefault();\r\n                const orderId = $(this).data('order-id');\r\n                const $ordersTab = $('#orders');\r\n                const $listView = $ordersTab.find('.orders-list-view');\r\n                const $detailView = $ordersTab.find('.order-detail-view');\r\n                const $detailContent = $ordersTab.find('.order-detail-content');\r\n\r\n                \/\/ Show loading state\r\n                $detailContent.html('<div class=\"order-loading\"><span class=\"spinner\"><\/span> Loading order details...<\/div>');\r\n\r\n                \/\/ Switch views\r\n                $listView.hide();\r\n                $detailView.show();\r\n\r\n                \/\/ Fetch order details via AJAX\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggm_commerce_get_order_details_html',\r\n                        order_id: orderId,\r\n                        nonce: orderNonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            $detailContent.html(response.data.html);\r\n                        } else {\r\n                            $detailContent.html('<div class=\"order-error\">' + (response.data.message || 'Failed to load order details.') + '<\/div>');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        $detailContent.html('<div class=\"order-error\">An error occurred while loading order details.<\/div>');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Back to Orders button click\r\n            $(document).on('click', '.btn-back-to-orders', function(e) {\r\n                e.preventDefault();\r\n                const $ordersTab = $('#orders');\r\n                const $listView = $ordersTab.find('.orders-list-view');\r\n                const $detailView = $ordersTab.find('.order-detail-view');\r\n\r\n                $detailView.hide();\r\n                $listView.show();\r\n            });\r\n\r\n            \/\/ Print Invoice button click - opens centralized invoice template\r\n            $(document).on('click', '.btn-print-invoice', function(e) {\r\n                e.preventDefault();\r\n                const $detailWrapper = $('.order-detail-wrapper');\r\n                const orderId = $detailWrapper.data('order-id');\r\n\r\n                if (!orderId) {\r\n                    alert('Order not found');\r\n                    return;\r\n                }\r\n\r\n                \/\/ Request invoice URL from server (includes secure nonce)\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggm_commerce_get_invoice_url',\r\n                        order_id: orderId,\r\n                        nonce: orderNonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success && response.data.url) {\r\n                            window.open(response.data.url, '_blank');\r\n                        } else {\r\n                            alert(response.data.message || 'Failed to generate invoice');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Popup template ID (from widget settings or default)\r\n            const popupTemplateId = '';\r\n            const useElementorPopup = false;\r\n\r\n            \/\/ Store form data to populate after popup opens\r\n            let pendingFormData = null;\r\n\r\n            \/\/ Popup functions \u2014 Elementor or native modal\r\n            function openPopup(formData) {\r\n                pendingFormData = formData;\r\n\r\n                if (useElementorPopup && popupTemplateId) {\r\n                    \/\/ Elementor popup path\r\n                    const actionSettings = { id: popupTemplateId, toggle: false };\r\n                    const actionHash = '#elementor-action:action=popup:open&settings=' + btoa(JSON.stringify(actionSettings));\r\n                    const $link = $('<a>', { href: actionHash, style: 'display:none' }).appendTo('body');\r\n                    $link[0].click();\r\n                    setTimeout(() => $link.remove(), 100);\r\n                } else {\r\n                    \/\/ Native modal fallback\r\n                    let $modal = $('#ggmc-address-modal-overlay');\r\n                    if (!$modal.length) {\r\n                        createNativeAddressModal();\r\n                        $modal = $('#ggmc-address-modal-overlay');\r\n                    }\r\n                    $modal.addClass('active');\r\n                    $('body').addClass('ggmc-modal-open');\r\n                    if (pendingFormData) {\r\n                        populateForm(pendingFormData);\r\n                        pendingFormData = null;\r\n                    }\r\n                }\r\n            }\r\n\r\n            \/\/ Create native address modal (only when Elementor is not available)\r\n            function createNativeAddressModal() {\r\n                const html = '<div id=\"ggmc-address-modal-overlay\" style=\"position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,0.6);display:none;align-items:center;justify-content:center;\">' +\r\n                    '<div style=\"background:#fff;border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;padding:30px;position:relative;\">' +\r\n                        '<button id=\"ggmc-address-modal-close\" style=\"position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;line-height:1;\">&times;<\/button>' +\r\n                        '<h3 id=\"modal-title\" style=\"margin:0 0 10px 0;\">Edit Address<\/h3>' +\r\n                        '<p id=\"address-type-display\" style=\"margin:0 0 20px 0;color:#666;font-size:14px;\"><\/p>' +\r\n                        '<input type=\"hidden\" id=\"address_id\"><input type=\"hidden\" id=\"address_type\">' +\r\n                        '<div style=\"margin-bottom:16px;\"><label style=\"display:block;margin-bottom:6px;font-weight:500;\">Address Label<\/label><input type=\"text\" id=\"address_label\" placeholder=\"e.g., Home, Office\" style=\"width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;\"><\/div>' +\r\n                        '<div style=\"display:flex;gap:12px;margin-bottom:16px;\"><div style=\"flex:1;\"><label style=\"display:block;margin-bottom:6px;font-weight:500;\">First Name<\/label><input type=\"text\" id=\"first_name\" style=\"width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;\"><\/div><div style=\"flex:1;\"><label style=\"display:block;margin-bottom:6px;font-weight:500;\">Last Name<\/label><input type=\"text\" id=\"last_name\" style=\"width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;\"><\/div><\/div>' +\r\n                        '<div style=\"margin-bottom:16px;\"><label style=\"display:block;margin-bottom:6px;font-weight:500;\">Company<\/label><input type=\"text\" id=\"company\" style=\"width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;\"><\/div>' +\r\n                        '<div style=\"margin-bottom:16px;\"><label style=\"display:block;margin-bottom:6px;font-weight:500;\">Address Line 1 <span style=\"color:red;\">*<\/span><\/label><input type=\"text\" id=\"address_1\" required style=\"width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;\"><\/div>' +\r\n                        '<div style=\"margin-bottom:16px;\"><label style=\"display:block;margin-bottom:6px;font-weight:500;\">Address Line 2<\/label><input type=\"text\" id=\"address_2\" style=\"width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;\"><\/div>' +\r\n                        '<div style=\"display:flex;gap:12px;margin-bottom:16px;\"><div style=\"flex:1;\"><label style=\"display:block;margin-bottom:6px;font-weight:500;\">City <span style=\"color:red;\">*<\/span><\/label><input type=\"text\" id=\"city\" required style=\"width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;\"><\/div><div style=\"flex:1;\"><label style=\"display:block;margin-bottom:6px;font-weight:500;\">State <span style=\"color:red;\">*<\/span><\/label><input type=\"text\" id=\"state\" required style=\"width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;\"><\/div><div style=\"flex:1;\"><label style=\"display:block;margin-bottom:6px;font-weight:500;\">Postcode <span style=\"color:red;\">*<\/span><\/label><input type=\"text\" id=\"postcode\" required style=\"width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;\"><\/div><\/div>' +\r\n                        '<div style=\"margin-bottom:16px;\"><label style=\"display:block;margin-bottom:6px;font-weight:500;\">Country <span style=\"color:red;\">*<\/span><\/label><select id=\"country\" required style=\"width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;\"><option value=\"\">Select Country<\/option><option value=\"US\">United States<\/option><option value=\"CA\">Canada<\/option><option value=\"GB\">United Kingdom<\/option><option value=\"AU\">Australia<\/option><option value=\"DE\">Germany<\/option><option value=\"FR\">France<\/option><option value=\"IT\">Italy<\/option><option value=\"ES\">Spain<\/option><option value=\"NL\">Netherlands<\/option><option value=\"BE\">Belgium<\/option><option value=\"CH\">Switzerland<\/option><option value=\"AT\">Austria<\/option><option value=\"SE\">Sweden<\/option><option value=\"NO\">Norway<\/option><option value=\"DK\">Denmark<\/option><option value=\"FI\">Finland<\/option><option value=\"JP\">Japan<\/option><option value=\"KR\">South Korea<\/option><option value=\"SG\">Singapore<\/option><option value=\"HK\">Hong Kong<\/option><option value=\"NZ\">New Zealand<\/option><option value=\"MX\">Mexico<\/option><option value=\"BR\">Brazil<\/option><option value=\"AR\">Argentina<\/option><option value=\"CL\">Chile<\/option><option value=\"IN\">India<\/option><option value=\"CN\">China<\/option><option value=\"RU\">Russia<\/option><option value=\"ZA\">South Africa<\/option><option value=\"EG\">Egypt<\/option><option value=\"NG\">Nigeria<\/option><option value=\"KE\">Kenya<\/option><option value=\"MA\">Morocco<\/option><option value=\"TN\">Tunisia<\/option><option value=\"GH\">Ghana<\/option><option value=\"UG\">Uganda<\/option><option value=\"TZ\">Tanzania<\/option><option value=\"ZW\">Zimbabwe<\/option><option value=\"BW\">Botswana<\/option><option value=\"ZM\">Zambia<\/option><option value=\"MW\">Malawi<\/option><option value=\"MZ\">Mozambique<\/option><option value=\"AO\">Angola<\/option><option value=\"NA\">Namibia<\/option><option value=\"SZ\">Eswatini<\/option><option value=\"LS\">Lesotho<\/option><\/select><\/div>' +\r\n                        '<div style=\"margin-bottom:16px;\"><label style=\"display:block;margin-bottom:6px;font-weight:500;\">Phone<\/label><input type=\"tel\" id=\"phone\" style=\"width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;\"><\/div>' +\r\n                        '<div style=\"margin-bottom:20px;\"><label style=\"display:flex;align-items:center;gap:8px;\"><input type=\"checkbox\" id=\"is_default\"> Set as default address<\/label><\/div>' +\r\n                        '<div style=\"display:flex;gap:10px;justify-content:flex-end;\"><button type=\"button\" id=\"btn-cancel-address\" style=\"padding:12px 24px;background:#f0f0f0;color:#333;border:none;border-radius:4px;cursor:pointer;font-weight:500;\">Cancel<\/button><button type=\"button\" id=\"btn-save-address\" style=\"padding:12px 24px;background:#2563eb;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;\">Save Address<\/button><\/div>' +\r\n                    '<\/div><\/div>';\r\n                $('body').append(html);\r\n\r\n                \/\/ Show on creation (flex for centering)\r\n                const $modal = $('#ggmc-address-modal-overlay');\r\n                $modal.css('display', 'flex');\r\n\r\n                \/\/ Close handlers\r\n                $('#ggmc-address-modal-close').on('click', closePopup);\r\n                $modal.on('click', function(e) {\r\n                    if ($(e.target).is($modal)) closePopup();\r\n                });\r\n            }\r\n\r\n            \/\/ Listen for Elementor popup show event (only when using Elementor)\r\n            if (useElementorPopup) {\r\n                $(document).on('elementor\/popup\/show', function(event, id, instance) {\r\n                    if (id == popupTemplateId && pendingFormData) {\r\n                        populateForm(pendingFormData);\r\n                        pendingFormData = null;\r\n                    }\r\n                });\r\n            }\r\n\r\n            \/\/ Function to populate form fields\r\n            function populateForm(data) {\r\n                $('#address_id').val(data.address_id || '');\r\n                $('#address_type').val(data.address_type || '');\r\n                $('#address_label').val(data.address_label || '');\r\n                $('#first_name').val(data.first_name || '');\r\n                $('#last_name').val(data.last_name || '');\r\n                $('#company').val(data.company || '');\r\n                $('#address_1').val(data.address_1 || '');\r\n                $('#address_2').val(data.address_2 || '');\r\n                $('#city').val(data.city || '');\r\n                $('#state').val(data.state || '');\r\n                $('#postcode').val(data.postcode || '');\r\n                $('#country').val(data.country || '');\r\n                $('#phone').val(data.phone || '');\r\n                $('#is_default').prop('checked', data.is_default || false);\r\n\r\n                \/\/ Update title and type display\r\n                if (data.title) {\r\n                    $('#modal-title').text(data.title);\r\n                }\r\n                if (data.type_display) {\r\n                    $('#address-type-display').text(data.type_display);\r\n                }\r\n            }\r\n\r\n            function closePopup() {\r\n                if (useElementorPopup && popupTemplateId) {\r\n                    \/\/ Elementor path\r\n                    const actionHash = '#elementor-action:action=popup:close&settings=' + btoa(JSON.stringify({id: popupTemplateId}));\r\n                    const $link = $('<a>', { href: actionHash, style: 'display:none' }).appendTo('body');\r\n                    $link[0].click();\r\n                    setTimeout(() => $link.remove(), 100);\r\n                } else {\r\n                    \/\/ Native modal path\r\n                    const $modal = $('#ggmc-address-modal-overlay');\r\n                    $modal.removeClass('active').css('display', 'none');\r\n                    $('body').removeClass('ggmc-modal-open');\r\n                }\r\n\r\n                \/\/ Clear form after a short delay\r\n                setTimeout(function() {\r\n                    $('#address_id').val('');\r\n                    $('#address_type').val('');\r\n                    $('#address_label').val('');\r\n                    $('#first_name').val('');\r\n                    $('#last_name').val('');\r\n                    $('#company').val('');\r\n                    $('#address_1').val('');\r\n                    $('#address_2').val('');\r\n                    $('#city').val('');\r\n                    $('#state').val('');\r\n                    $('#postcode').val('');\r\n                    $('#country').val('');\r\n                    $('#phone').val('');\r\n                    $('#is_default').prop('checked', false);\r\n                }, 200);\r\n            }\r\n\r\n            \/\/ Handle cancel button in popup\r\n            $(document).on('click', '#btn-cancel-address', function(e) {\r\n                e.preventDefault();\r\n                closePopup();\r\n            });\r\n\r\n            \/\/ Add new address\r\n            $('.btn-add-address').on('click', function() {\r\n                const addressType = $(this).data('type');\r\n                const addressTypeLabel = addressType.charAt(0).toUpperCase() + addressType.slice(1);\r\n\r\n                \/\/ Prepare form data for new address\r\n                const formData = {\r\n                    address_id: '',\r\n                    address_type: addressType,\r\n                    address_label: '',\r\n                    first_name: '',\r\n                    last_name: '',\r\n                    company: '',\r\n                    address_1: '',\r\n                    address_2: '',\r\n                    city: '',\r\n                    state: '',\r\n                    postcode: '',\r\n                    country: '',\r\n                    phone: '',\r\n                    is_default: false,\r\n                    title: 'Add New ' + addressTypeLabel + ' Address',\r\n                    type_display: 'Adding a new ' + addressType + ' address'\r\n                };\r\n\r\n                \/\/ Open popup with form data\r\n                openPopup(formData);\r\n            });\r\n\r\n            \/\/ Edit address\r\n            $(document).on('click', '.btn-edit-address', function() {\r\n                const addressId = $(this).data('address-id');\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggm_commerce_get_address',\r\n                        address_id: addressId,\r\n                        nonce: addressNonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            const address = response.data.address;\r\n                            const addressTypeLabel = address.address_type.charAt(0).toUpperCase() + address.address_type.slice(1);\r\n\r\n                            \/\/ Prepare form data from loaded address\r\n                            const formData = {\r\n                                address_id: address.id,\r\n                                address_type: address.address_type,\r\n                                address_label: address.address_label || '',\r\n                                first_name: address.first_name || '',\r\n                                last_name: address.last_name || '',\r\n                                company: address.company || '',\r\n                                address_1: address.address_1 || '',\r\n                                address_2: address.address_2 || '',\r\n                                city: address.city || '',\r\n                                state: address.state || '',\r\n                                postcode: address.postcode || '',\r\n                                country: address.country || '',\r\n                                phone: address.phone || '',\r\n                                is_default: address.is_default == 1,\r\n                                title: 'Edit ' + addressTypeLabel + ' Address',\r\n                                type_display: 'Editing ' + address.address_type + ' address' + (address.address_label ? ': ' + address.address_label : '')\r\n                            };\r\n\r\n                            \/\/ Open popup with form data\r\n                            openPopup(formData);\r\n                        } else {\r\n                            alert(response.data.message || 'Failed to load address');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred while loading the address');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Save address\r\n            $(document).on('click', '#btn-save-address', function(e) {\r\n                e.preventDefault();\r\n\r\n                const formData = {\r\n                    action: 'ggm_commerce_save_address',\r\n                    nonce: addressNonce,\r\n                    address_id: $('#address_id').val(),\r\n                    address_type: $('#address_type').val(),\r\n                    address_label: $('#address_label').val(),\r\n                    first_name: $('#first_name').val(),\r\n                    last_name: $('#last_name').val(),\r\n                    company: $('#company').val(),\r\n                    address_1: $('#address_1').val(),\r\n                    address_2: $('#address_2').val(),\r\n                    city: $('#city').val(),\r\n                    state: $('#state').val(),\r\n                    postcode: $('#postcode').val(),\r\n                    country: $('#country').val(),\r\n                    phone: $('#phone').val(),\r\n                    is_default: $('#is_default').is(':checked') ? 'true' : 'false'\r\n                };\r\n\r\n                \/\/ Basic validation (state is optional for EU countries)\r\n                if (!formData.address_1 || !formData.city || !formData.postcode || !formData.country) {\r\n                    alert('Please fill in all required fields (Address, City, Postcode, Country)');\r\n                    return;\r\n                }\r\n\r\n                $(this).prop('disabled', true).text('Saving...');\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: formData,\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            alert(response.data.message);\r\n                            closePopup();\r\n                            reloadToTab('addresses');\r\n                        } else {\r\n                            alert(response.data.message || 'Failed to save address');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred while saving the address');\r\n                    },\r\n                    complete: function() {\r\n                        $('#btn-save-address').prop('disabled', false).text('Save Address');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Delete address\r\n            $(document).on('click', '.btn-delete-address', function() {\r\n                if (!confirm('Are you sure you want to delete this address?')) {\r\n                    return;\r\n                }\r\n\r\n                const addressId = $(this).data('address-id');\r\n                const button = $(this);\r\n\r\n                button.prop('disabled', true);\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggm_commerce_delete_address',\r\n                        address_id: addressId,\r\n                        nonce: addressNonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            alert(response.data.message);\r\n                            reloadToTab('addresses');\r\n                        } else {\r\n                            alert(response.data.message || 'Failed to delete address');\r\n                            button.prop('disabled', false);\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred while deleting the address');\r\n                        button.prop('disabled', false);\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Set default address\r\n            $(document).on('click', '.btn-set-default', function() {\r\n                const addressId = $(this).data('address-id');\r\n                const button = $(this);\r\n\r\n                button.prop('disabled', true).text('Setting...');\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggm_commerce_set_default_address',\r\n                        address_id: addressId,\r\n                        nonce: addressNonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            alert(response.data.message);\r\n                            reloadToTab('addresses');\r\n                        } else {\r\n                            alert(response.data.message || 'Failed to set default address');\r\n                            button.prop('disabled', false).text('Set as Default');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred while updating the default address');\r\n                        button.prop('disabled', false).text('Set as Default');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Business Settings - Update Business Details\r\n            $('.business-form').on('submit', function(e) {\r\n                e.preventDefault();\r\n\r\n                const form = $(this);\r\n                const button = form.find('.btn-update-business');\r\n                const originalText = button.text();\r\n\r\n                button.prop('disabled', true).text('Saving...');\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggm_commerce_update_business',\r\n                        nonce: '982a6c3afb',\r\n                        company_name: form.find('input[name=\"company_name\"]').val(),\r\n                        tax_id: form.find('input[name=\"tax_id\"]').val()\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            alert(response.data.message || 'Business details saved successfully.');\r\n                            reloadToTab('business');\r\n                        } else {\r\n                            alert(response.data.message || 'Failed to save business details.');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred while saving business details.');\r\n                    },\r\n                    complete: function() {\r\n                        button.prop('disabled', false).text(originalText);\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Business Settings - Update Price Display Preference\r\n            $('.price-preference-form').on('submit', function(e) {\r\n                e.preventDefault();\r\n\r\n                const form = $(this);\r\n                const button = form.find('.btn-update-preference');\r\n                const originalText = button.text();\r\n\r\n                button.prop('disabled', true).text('Saving...');\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggm_commerce_update_price_preference',\r\n                        nonce: 'f29b2393f5',\r\n                        price_display: form.find('input[name=\"price_display\"]:checked').val()\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            alert(response.data.message || 'Price preference saved successfully.');\r\n                        } else {\r\n                            alert(response.data.message || 'Failed to save price preference.');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred while saving price preference.');\r\n                    },\r\n                    complete: function() {\r\n                        button.prop('disabled', false).text(originalText);\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ ===== WISHLIST MANAGEMENT =====\r\n            const wishlistNonce = '17027a761f';\r\n\r\n            \/\/ Modal helpers\r\n            function openModal($modal) {\r\n                $modal.show();\r\n                $('body').css('overflow', 'hidden');\r\n            }\r\n\r\n            function closeModal($modal) {\r\n                $modal.hide();\r\n                $('body').css('overflow', '');\r\n            }\r\n\r\n            \/\/ Close modals on overlay click or close button\r\n            $(document).on('click', '.ggmc-modal-overlay, .ggmc-modal-close, .ggmc-modal .btn-cancel', function() {\r\n                closeModal($(this).closest('.ggmc-modal'));\r\n            });\r\n\r\n            \/\/ Close modal on Escape key\r\n            $(document).on('keydown', function(e) {\r\n                if (e.key === 'Escape') {\r\n                    $('.ggmc-modal:visible').each(function() {\r\n                        closeModal($(this));\r\n                    });\r\n                }\r\n            });\r\n\r\n            \/\/ Create Wishlist\r\n            $(document).on('click', '.btn-create-wishlist', function() {\r\n                $('#new-wishlist-name').val('');\r\n                openModal($('.wishlist-create-modal'));\r\n                setTimeout(() => $('#new-wishlist-name').focus(), 100);\r\n            });\r\n\r\n            $(document).on('click', '.wishlist-create-modal .btn-confirm', function() {\r\n                const name = $('#new-wishlist-name').val().trim();\r\n                if (!name) {\r\n                    alert('Please enter a wishlist name.');\r\n                    return;\r\n                }\r\n\r\n                const $btn = $(this);\r\n                $btn.prop('disabled', true).text('Creating...');\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggmc_wishlist_create',\r\n                        name: name,\r\n                        nonce: wishlistNonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            reloadToTab('wishlists');\r\n                        } else {\r\n                            alert(response.data.message || 'Failed to create wishlist.');\r\n                            $btn.prop('disabled', false).text('Create Wishlist');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred.');\r\n                        $btn.prop('disabled', false).text('Create Wishlist');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Rename Wishlist\r\n            $(document).on('click', '.btn-edit-wishlist', function() {\r\n                const wishlistId = $(this).data('wishlist-id');\r\n                const currentName = $(this).closest('.wishlist-card').find('.wishlist-card-name').text().trim().replace(\/Default$\/, '').trim();\r\n\r\n                $('#rename-wishlist-id').val(wishlistId);\r\n                $('#rename-wishlist-name').val(currentName);\r\n                openModal($('.wishlist-rename-modal'));\r\n                setTimeout(() => $('#rename-wishlist-name').focus().select(), 100);\r\n            });\r\n\r\n            $(document).on('click', '.wishlist-rename-modal .btn-confirm', function() {\r\n                const wishlistId = $('#rename-wishlist-id').val();\r\n                const name = $('#rename-wishlist-name').val().trim();\r\n\r\n                if (!name) {\r\n                    alert('Please enter a wishlist name.');\r\n                    return;\r\n                }\r\n\r\n                const $btn = $(this);\r\n                $btn.prop('disabled', true).text('Saving...');\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggmc_wishlist_update',\r\n                        wishlist_id: wishlistId,\r\n                        name: name,\r\n                        nonce: wishlistNonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            reloadToTab('wishlists');\r\n                        } else {\r\n                            alert(response.data.message || 'Failed to rename wishlist.');\r\n                            $btn.prop('disabled', false).text('Save Changes');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred.');\r\n                        $btn.prop('disabled', false).text('Save Changes');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Delete Wishlist\r\n            $(document).on('click', '.btn-delete-wishlist', function() {\r\n                const wishlistId = $(this).data('wishlist-id');\r\n                const wishlistName = $(this).data('wishlist-name');\r\n\r\n                $('#delete-wishlist-id').val(wishlistId);\r\n                $('#delete-move-items').prop('checked', true);\r\n                $('.delete-confirm-message').html(\r\n                    'Are you sure you want to delete <strong>' +\r\n                    $('<div>').text(wishlistName).html() +\r\n                    '<\/strong>?'\r\n                );\r\n                openModal($('.wishlist-delete-modal'));\r\n            });\r\n\r\n            $(document).on('click', '.wishlist-delete-modal .btn-confirm', function() {\r\n                const wishlistId = $('#delete-wishlist-id').val();\r\n                const moveItems = $('#delete-move-items').is(':checked');\r\n\r\n                const $btn = $(this);\r\n                $btn.prop('disabled', true).text('Deleting...');\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggmc_wishlist_delete',\r\n                        wishlist_id: wishlistId,\r\n                        move_to_default: moveItems ? 1 : 0,\r\n                        nonce: wishlistNonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            reloadToTab('wishlists');\r\n                        } else {\r\n                            alert(response.data.message || 'Failed to delete wishlist.');\r\n                            $btn.prop('disabled', false).text('Delete Wishlist');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred.');\r\n                        $btn.prop('disabled', false).text('Delete Wishlist');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Set Default Wishlist\r\n            $(document).on('click', '.btn-set-default-wishlist', function() {\r\n                const wishlistId = $(this).data('wishlist-id');\r\n                const $btn = $(this);\r\n\r\n                $btn.prop('disabled', true).text('Setting...');\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    dataType: 'json',\r\n                    data: {\r\n                        action: 'ggmc_wishlist_set_default',\r\n                        wishlist_id: wishlistId,\r\n                        nonce: wishlistNonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response && response.success) {\r\n                            reloadToTab('wishlists');\r\n                        } else {\r\n                            var msg = (response && response.data && response.data.message) ? response.data.message : 'Failed to set default wishlist.';\r\n                            alert(msg);\r\n                            $btn.prop('disabled', false).text('Set as Default');\r\n                        }\r\n                    },\r\n                    error: function(xhr) {\r\n                        console.error('Set default wishlist AJAX error:', xhr.status, xhr.responseText);\r\n                        alert('An error occurred. Please refresh the page and try again.');\r\n                        $btn.prop('disabled', false).text('Set as Default');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ View Wishlist Items\r\n            $(document).on('click', '.btn-view-wishlist', function() {\r\n                const wishlistId = $(this).data('wishlist-id');\r\n                const wishlistName = $(this).closest('.wishlist-card').find('.wishlist-card-name').contents().filter(function() {\r\n                    return this.nodeType === 3;\r\n                }).text().trim();\r\n\r\n                const $listView = $('.wishlists-list-view');\r\n                const $detailView = $('.wishlist-detail-view');\r\n                const $detailContent = $detailView.find('.wishlist-detail-content');\r\n\r\n                \/\/ Update title\r\n                $detailView.find('.wishlist-detail-title').text(wishlistName);\r\n                $detailView.attr('data-wishlist-id', wishlistId);\r\n\r\n                \/\/ Show loading\r\n                $detailContent.html('<div class=\"wishlist-loading\"><span class=\"spinner\"><\/span> Loading items...<\/div>');\r\n\r\n                \/\/ Switch views\r\n                $listView.hide();\r\n                $detailView.show();\r\n\r\n                \/\/ Load items via AJAX\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggmc_wishlist_get_items_html',\r\n                        wishlist_id: wishlistId,\r\n                        nonce: wishlistNonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            $detailContent.html(response.data.html);\r\n                        } else {\r\n                            $detailContent.html('<div class=\"wishlist-error\">' + (response.data.message || 'Failed to load wishlist items.') + '<\/div>');\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        $detailContent.html('<div class=\"wishlist-error\">An error occurred while loading wishlist items.<\/div>');\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Back to Wishlists\r\n            $(document).on('click', '.btn-back-to-wishlists', function() {\r\n                $('.wishlist-detail-view').hide();\r\n                $('.wishlists-list-view').show();\r\n            });\r\n\r\n            \/\/ Remove item from wishlist\r\n            $(document).on('click', '.btn-remove-from-wishlist', function() {\r\n                const $btn = $(this);\r\n                const productId = $btn.data('product-id');\r\n                const wishlistId = $btn.data('wishlist-id') || $('.wishlist-detail-view').data('wishlist-id');\r\n\r\n                $btn.prop('disabled', true);\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggmc_wishlist_remove',\r\n                        product_id: productId,\r\n                        wishlist_id: wishlistId,\r\n                        nonce: wishlistNonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            \/\/ Remove the item row (table layout) or card (grid layout)\r\n                            const $item = $btn.closest('.ggmc-wishlist-item, .wishlist-item-card');\r\n                            $item.fadeOut(300, function() {\r\n                                $(this).remove();\r\n                                \/\/ Check if empty - look for remaining items\r\n                                const $remainingItems = $('.ggmc-wishlist-item, .wishlist-item-card');\r\n                                if ($remainingItems.length === 0) {\r\n                                    $('.wishlist-detail-content').html(\r\n                                        '<div class=\"ggmc-wishlist-empty\">' +\r\n                                        '<i class=\"eicon-heart-o\"><\/i>' +\r\n                                        '<p>This wishlist is empty.<\/p>' +\r\n                                        '<p class=\"ggmc-wishlist-empty-hint\">Browse products and add items to this wishlist.<\/p>' +\r\n                                        '<\/div>'\r\n                                    );\r\n                                }\r\n                            });\r\n                        } else {\r\n                            alert(response.data.message || 'Failed to remove item.');\r\n                            $btn.prop('disabled', false);\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred.');\r\n                        $btn.prop('disabled', false);\r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Add to cart from wishlist\r\n            $(document).on('click', '.btn-add-to-cart-from-wishlist', function() {\r\n                const $btn = $(this);\r\n                const productId = $btn.data('product-id');\r\n                const $btnSpan = $btn.find('span');\r\n                const originalHtml = $btn.html();\r\n\r\n                $btn.prop('disabled', true);\r\n                if ($btnSpan.length) {\r\n                    $btnSpan.text('Adding...');\r\n                } else {\r\n                    $btn.text('Adding...');\r\n                }\r\n\r\n                $.ajax({\r\n                    url: 'https:\/\/whytelabel.nl\/de\/wp-admin\/admin-ajax.php',\r\n                    type: 'POST',\r\n                    data: {\r\n                        action: 'ggm_commerce_add_to_cart',\r\n                        product_id: productId,\r\n                        quantity: 1,\r\n                        nonce: '17027a761f'\r\n                    },\r\n                    success: function(response) {\r\n                        if (response && response.success) {\r\n                            \/\/ Show success state\r\n                            if ($btnSpan.length) {\r\n                                $btnSpan.text('Added!');\r\n                            } else {\r\n                                $btn.text('Added!');\r\n                            }\r\n                            \/\/ Trigger cart update event\r\n                            $(document).trigger('ggmc_cart_updated', [response.data]);\r\n                            \/\/ Reset after delay\r\n                            setTimeout(function() {\r\n                                $btn.prop('disabled', false).html(originalHtml);\r\n                            }, 2000);\r\n                        } else {\r\n                            const msg = (response && response.data && response.data.message)\r\n                                ? response.data.message\r\n                                : 'Failed to add to cart.';\r\n                            alert(msg);\r\n                            $btn.prop('disabled', false).html(originalHtml);\r\n                        }\r\n                    },\r\n                    error: function() {\r\n                        alert('An error occurred.');\r\n                        $btn.prop('disabled', false).html(originalHtml);\r\n                    }\r\n                });\r\n            });\r\n        });\r\n    <\/script>\r\n    <\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_ggm_preview_product_id":0,"footnotes":""},"class_list":["post-160","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>My Account - whytelabel<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/whytelabel.nl\/de\/my-account\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"My Account - whytelabel\" \/>\n<meta property=\"og:url\" content=\"https:\/\/whytelabel.nl\/de\/my-account\/\" \/>\n<meta property=\"og:site_name\" content=\"whytelabel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/whytelabel.nl\\\/de\\\/my-account\\\/\",\"url\":\"https:\\\/\\\/whytelabel.nl\\\/de\\\/my-account\\\/\",\"name\":\"My Account - whytelabel\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/whytelabel.nl\\\/de\\\/#website\"},\"datePublished\":\"2026-08-16T14:05:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/whytelabel.nl\\\/de\\\/my-account\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/whytelabel.nl\\\/de\\\/my-account\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/whytelabel.nl\\\/de\\\/my-account\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/whytelabel.nl\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"My Account\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/whytelabel.nl\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/whytelabel.nl\\\/de\\\/\",\"name\":\"whytelabel\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/whytelabel.nl\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"My Account - whytelabel","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/whytelabel.nl\/de\/my-account\/","og_locale":"de_DE","og_type":"article","og_title":"My Account - whytelabel","og_url":"https:\/\/whytelabel.nl\/de\/my-account\/","og_site_name":"whytelabel","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/whytelabel.nl\/de\/my-account\/","url":"https:\/\/whytelabel.nl\/de\/my-account\/","name":"My Account - whytelabel","isPartOf":{"@id":"https:\/\/whytelabel.nl\/de\/#website"},"datePublished":"2026-08-16T14:05:30+00:00","breadcrumb":{"@id":"https:\/\/whytelabel.nl\/de\/my-account\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/whytelabel.nl\/de\/my-account\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/whytelabel.nl\/de\/my-account\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/whytelabel.nl\/de\/"},{"@type":"ListItem","position":2,"name":"My Account"}]},{"@type":"WebSite","@id":"https:\/\/whytelabel.nl\/de\/#website","url":"https:\/\/whytelabel.nl\/de\/","name":"whytelabel","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/whytelabel.nl\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"}]}},"_links":{"self":[{"href":"https:\/\/whytelabel.nl\/de\/wp-json\/wp\/v2\/pages\/160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/whytelabel.nl\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/whytelabel.nl\/de\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/whytelabel.nl\/de\/wp-json\/wp\/v2\/comments?post=160"}],"version-history":[{"count":0,"href":"https:\/\/whytelabel.nl\/de\/wp-json\/wp\/v2\/pages\/160\/revisions"}],"wp:attachment":[{"href":"https:\/\/whytelabel.nl\/de\/wp-json\/wp\/v2\/media?parent=160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}