Probleem:
Jaren geleden heb ik voor een personeelsvereniging van oud personeelsleden een WordPress website gemaakt. Deze organiseren een aantal keren per jaar een evenement waar mensen zich voor aan of af moeten melden.
Hiervoor wordt gebruik gemaakt van Contact Form 7 plugin. Om de registraties in de database te registreren wordt gebruik gemaakt van Advanced Contact form 7 DB.
Via WordPress shortcode wordt op de website en lijst van personen getoond die wel of niet komen. Dat vinden mensen leuk om te weten en is bepalend of andere personen zich wel of niet aanmelden.
Maar sinds versie 2.0.2 en verder werkt onderstaande shortcode niet meer juist:
[acf7db form_id='689' id='afmelders' show='689.Naam, 689.Tussenvoegsels, 689.Achternaam']
Zoals je ziet wil ik maar 3 kolommen tonen. Maar nu worden alle kolommen getoond en dat is niet de bedoeling. Het aanmeldformulier bevat ook velden als opmerkingen en allergieën. Dit zijn dingen die anderen niet hoeven te weten. Puur voor de organisatie.
De tweede bijwerking is dat alle ingevulde formulieren worden getoond en niet specifiek formulier met als id 689.
Oplossing:
Als ik Advanced Contact form 7 DB terugzet naar versie 2.0.1 is het probleem verdwenen. Dus op een of andere manier is er iets verandert in de code van de plugin.
Blijkbaar heeft het probleem te maken met de form_id waarde. Dat is niet het unieke getal dat een formulier in Contact Form 7 krijgt maar een waarde die bestaat uit letters en cijfers. Deze waarde kan je ophalen door in de wp-admin omgeving naar het overzicht met Contact Form 7 formulieren te gaan en in de kolom “Shortcode” te kijken.
De juiste shortcode die wel werkt is de onderstaande:
[acf7db form_id='8d746e3' show='8d746e3.Naam, 8d746e3.Tussenvoegsels, 8d746e3.Achternaam']
Getest op:
WordPress 6.7.1 met Contact Form 6.0.3 en Advanced Contact form 7 DB 2.0.6