Om ervoor te zorgen dat de velden op de afrekenpagina van je WooCommerce-webshop bewaard blijven zonder dat klanten op een knop moeten drukken om hun gegevens op te slaan, kun je een stukje code toevoegen aan de functionaliteit van je website. Deze code zorgt ervoor dat de ingevulde gegevens automatisch worden opgeslagen.
- Maak een nieuw JavaScript-bestand aan, bijvoorbeeld checkout-autosave.js.
- Plaats de volgende code in het checkout-autosave.js-bestand:
jQuery(document).ready(function($) { var checkoutForm = $('form.checkout'); if (checkoutForm.length > 0) { // Herstel de opgeslagen gegevens als ze beschikbaar zijn if (localStorage.checkoutFields) { var savedData = JSON.parse(localStorage.checkoutFields); $.each(savedData, function(key, value) { checkoutForm.find('[name="' + key + '"]').val(value); }); } // Bewaar de gegevens wanneer de gebruiker de pagina verlaat checkoutForm.on('change', 'input, select, textarea', function() { var dataToSave = {}; checkoutForm.find('input, select, textarea').each(function() { var input = $(this); var name = input.attr('name'); var value = input.val(); if (name && value) { dataToSave[name] = value; } }); localStorage.setItem('checkoutFields', JSON.stringify(dataToSave)); }); // Verwijder de opgeslagen gegevens wanneer de bestelling is geplaatst checkoutForm.on('submit', function() { localStorage.removeItem('checkoutFields'); }); } });
- Zorg ervoor dat je het checkout-autosave.js-bestand op de juiste manier inlaadt op de afrekenpagina van je WooCommerce-webshop. Je kunt dit doen door de volgende code toe te voegen aan het functions.php-bestand van je thema:
function enqueue_checkout_autosave_script() { if (is_checkout()) { wp_enqueue_script('checkout-autosave', get_stylesheet_directory_uri() . '/path/naar/checkout-autosave.js', array('jquery'), '1.0', true); } } add_action('wp_enqueue_scripts', 'enqueue_checkout_autosave_script');
Zorg ervoor dat je de juiste padnaam opgeeft naar het checkout-autosave.js-bestand in de get_stylesheet_directory_uri()-functie.
Met deze aanpak zou de code correct moeten werken en de ingevulde gegevens op de afrekenpagina moeten bewaren, zelfs als klanten de pagina verversen of terugkeren naar de pagina zonder ingelogd te zijn.