Gratis WordPress-plugin voor Laposta

Laposta aanmeldformulieren en campagnes op je eigen site.

Wynko koppelt WordPress aan je Laposta-account. Je krijgt twee dingen die je overal op je site kunt plaatsen: aanmeldformulieren die zijn opgebouwd uit je echte Laposta-lijsten, en een blok dat de nieuwsbrieven laat zien die je hebt verstuurd. Geen embedcodes. Geen iframes. Jouw site, jouw vormgeving.

WordPress 6.4+ · PHP 8.0+ · GPLv2, gratis via WordPress.org

Een Wynko-aanmeldformulier op een WordPress-pagina met het Astra-thema, met velden voor e-mail, voornaam en achternaam en een Aanmelden-knop
Hetzelfde Wynko-formulier op het Kadence-thema, volledig gestyled door het thema
De Wynko-formulierbouwer in wp-admin, met de velden uit een Laposta-lijst
De blokeditor met een Wynko Campagnes-blok dat recent verstuurde Laposta-campagnes toont als gedateerde links
De Wynko-instellingenpagina in wp-admin, met API-verbindingsstatus en cacheduur
Een Wynko-formulier op het Astra-thema — geen extra CSS geschreven

Gebouwd uit je live lijst

Velden, opties en verplichte velden kloppen altijd met Laposta.

Vormgegeven door je thema

Minimale structurele CSS. Je thema doet de rest.

Spam tegengehouden bij de deur

Honeypot, rate limiting, volledige server-side hervalidatie.

Je API-sleutel, netjes behandeld

Geverifieerd bij invoer, versleuteld opgeslagen, of buiten de database gehouden.

Wat je precies krijgt

Twee blokken. Meer is de plugin niet.

Wynko probeert geen formulierbouwer, CRM of marketingsuite te zijn. De plugin koppelt één WordPress-site aan één Laposta-account en geeft je twee dingen om op je pagina’s te plaatsen.

De Wynko-formulierbouwer in wp-admin, met de velden uit een Laposta-lijst

Een aanmeldformulier dat niet uit de pas kan lopen

Kies een Laposta-lijst, en Wynko bouwt het formulier uit de velddefinities van die lijst — verplichte velden, keuzelijstopties, alles.

Wijzig de lijst in Laposta en het formulier volgt vanzelf. Loopt een gecachete kopie ooit even achter, dan start één mislukte poging automatisch een resync, zodat de eerstvolgende poging de actuele velden van Laposta gebruikt.

  • Onbeperkt aantal formulieren, elk opgebouwd uit de velden, labels en opties van zijn eigen Laposta-lijst
  • Volledige HTML5-veldondersteuning — hulptekst, standaardwaarden, lengtelimieten, patronen, autofill
  • Elke waarde opnieuw server-side gevalideerd tegen diezelfde regels
  • Toon label, placeholder, beide of geen van beide — en sleep velden naar de gewenste volgorde
  • Pas succes- en foutmeldingen aan, stuur door of verberg het formulier na aanmelding, met optionele akkoordverklaring
  • "Al aangemeld" leest hetzelfde als een geslaagde aanmelding, zodat het formulier niet te misbruiken is om lidmaatschap te testen
  • Optionele bridges melden ook bezoekers aan vanuit Contact Form 7 en HTML Forms — en elke plugin kan zijn eigen toevoegen
  • Aantal aanmeldingen per formulier, direct zichtbaar in wp-admin
  • Minimale structurele CSS, bij te sturen via custom properties, plus een shortcode voor klassieke thema’s: [wynko_form id="N"]
De blokeditor met een Wynko Campagnes-blok dat recent verstuurde Laposta-campagnes toont als gedateerde links

Een nieuwsbriefarchief dat zichzelf actueel houdt

Voeg het blok Wynko: Campagnes toe en het toont je meest recent verstuurde Laposta-campagnes, elk met een link.

Hier zit helemaal geen front-end CSS bij — je thema bepaalt de vormgeving volledig.

  • Kies hoeveel recente campagnes je toont
  • Filter op lijst, of toon ze allemaal
  • Sorteer op verzenddatum, onderwerp of campagnenaam — nieuwste of oudste eerst
  • Label toont onderwerp, datum, campagnenaam, of een combinatie
  • Standaard 60 minuten gecachet
  • Handmatig te vernieuwen wanneer je dat eerder wilt

Waarom niet gewoon de embedcode

Omdat een iframe andermans pagina in de jouwe is.

Laposta geeft je een insluitbaar formulier, en het werkt. Maar een ingesloten formulier is een apart document dat in je pagina wordt geladen. Het heeft zijn eigen vormgeving, erft niets van je thema, is lastig responsive te maken en weet niets van de rest van je site.

Wynko rendert het formulier als gewone HTML in je pagina. Je thema geeft het vorm. Je CSS bereikt het. Je paginasnelheid hoeft niet te wachten op een frame van derden. En omdat de velddefinities uit Laposta worden gelezen in plaats van met de hand overgetypt, kan het formulier nog steeds niet uit de pas lopen met je lijst.

Ingesloten formulierZelfgebouwd formulierWynko
Past bij je thema en CSSNeeJaJa
Velden blijven synchroon met LapostaJaNeeJa
Aanmelden vanuit formulieren van andere pluginsNeeWisselendJa
Server-side validatie op je eigen siten.v.t.WisselendJa
Veldvalidatie (lengte, patroon, bereik)WisselendWisselendJa
Automatisch invullen (autofill)WisselendWisselendJa
Spambescherming (honeypot, rate limiting)WisselendWisselendJa
Uit te breiden met code (hooks & filters)NeeWisselendJa
  • Ja, ingebouwd
  • Hangt van jou of Laposta af
  • Nee

Zo werkt het

Drie stappen, daarna draait het zichzelf.

  1. 01

    Koppel je Laposta-account

    Plak je API-sleutel in Wynko → Instellingen, of definieer hem als constante in wp-config.php. Wynko controleert de sleutel bij Laposta voordat er iets wordt opgeslagen, zodat een verkeerde sleutel direct opvalt in plaats van later stilletjes te mislukken.

  2. 02

    Plaats je formulier of blok

    Kies een lijst en bouw je formulier onder Wynko → Aanmeldformulieren, en plaats het met het formulierblok of de shortcode. Voeg het campagneblok toe aan een willekeurige pagina of bericht.

  3. 03

    Laat het met rust

    Campagnes blijven gecachet en vernieuwen zichzelf. Aanmeldingen worden gevalideerd, onderworpen aan rate limiting en vastgelegd in een activiteitenlog met info-, waarschuwings- en foutmeldingen. Bij een fout kan Wynko je daar automatisch over mailen.

Voor bureaus en developers

Gebouwd om uit te rollen, niet om doorheen te klikken.

Je Laposta API-sleutel is de sleutel tot je hele mailinglijst. Daar is Wynko op gebouwd.

wp-config.php

De veiligste opzet, en degene die we aanraden, is één regel in wp-config.php:

define( 'WYNKO_API_KEY', 'jouw-laposta-api-sleutel' );

Een sleutel die zo is gedefinieerd komt nooit in je database terecht, dus kan hij niet lekken via een back-up, een losse export of een inbreuk op databaseniveau. Staat er een constante, dan wint die altijd — Wynko laat een opgeslagen waarde die nooit stilletjes overschaduwen. Voeg op multisite het blog-ID toe (WYNKO_API_KEY_3) om één site zijn eigen sleutel te geven.

Waar de PHP-extensie sodium beschikbaar is en je site over echte WordPress-beveiligingssalts beschikt, wordt de sleutel met authenticated encryption verzegeld voordat hij naar de database wordt geschreven. Een ruwe database-export of een SQL-injectie levert dan geen bruikbare sleutel op.

Dit beschermt de database op zichzelf. Het beschermt niet tegen iemand die ook wp-config.php kan lezen, want daar staan je salts ook. Roteer je SECURE_AUTH_KEY, dan worden eerder verzegelde sleutels doelbewust onleesbaar, en het instellingenscherm vertelt je dat precies in plaats van rommel naar Laposta te sturen.

Heeft je server geen sodium-extensie, of draai je nog op de standaard placeholder-salts van WordPress, dan wordt de sleutel als platte tekst opgeslagen en zegt het instellingenscherm dat gewoon eerlijk.

Niet alleen de sleutel. Cache-duur, logniveau, rate-limit-venster en -limieten, en foutmeldingen kunnen allemaal worden ingesteld via een omgevingsvariabele of een wp-config.php-constante. Omgevingsvariabelen gaan boven constantes, constantes gaan boven het instellingenscherm, en elk tabblad toont welke daarvan de baas is, zodat het nooit onduidelijk is waar een waarde vandaan komt.

Dat betekent dat staging en productie hun eigen configuratie meenemen met je deployment, in plaats van dat iemand eraan moet denken om op elke site het instellingenscherm door te klikken.

Alle acht variabelen
  • WYNKO_API_KEY
  • WYNKO_CACHE_MINUTES
  • WYNKO_LOG_LEVEL
  • WYNKO_THROTTLE_WINDOW
  • WYNKO_THROTTLE_IP_MAX
  • WYNKO_THROTTLE_FORM_MAX
  • WYNKO_NOTIFY_ENABLED
  • WYNKO_NOTIFY_EMAILS

Standaard kan één bezoeker 15 aanmeldingen versturen en accepteert één formulier er 400, binnen elk voortschrijdend venster van 10 minuten. Alle drie de aantallen zijn aan te passen, en er is een knop “Aanmeldlimieten resetten” voor als een limiet echte bezoekers buitensluit voordat je de kans hebt gehad om hem te verhogen.

De limiet per bezoeker is degene om te verhogen als een gedeeld kantoor, school of NAT-gateway echt verkeer vanaf één adres stuurt. De limiet per formulier is een vangnet, geen eerste verdedigingslinie — houd hem ruim boven je normale verkeer.

Het activiteitenlog registreert sleutelcontroles, verbindingscontroles, synchronisaties en aanmeldingen op het detailniveau dat je instelt. Het bevat nooit je API-sleutel, en aanmeldingen bevatten nooit iemands e-mailadres of antwoorden. Filter het op het scherm of download het als .txt om bij een supportverzoek te voegen.

Er is ook een systeemrapport — een gezondheidscheck van WordPress, PHP, je database, PHP-modules en je server, elk afgezet tegen waar Wynko op is getest. Het waarschuwt je bij iets ongebruikelijks en blokkeert je nooit.

Elke site in het netwerk heeft zijn eigen instellingen, zijn eigen Laposta-account, zijn eigen log en zijn eigen meldingen op zijn eigen uurlimiet. Verwijderen ruimt zichzelf op, over het hele netwerk.

Elk uitgaand API-verzoek, elke campagne-ophaal, formulierinzending en logregel activeert een wynko_* action of filter. Voeg een header toe aan elk Laposta-verzoek, haal de API-sleutel uit je eigen secrets manager, of stuur error-logregels door naar je eigen alerting-stack — zonder de kern aan te passen.

add_filter( 'wynko_api_key', fn( $key ) => my_secrets_manager()->get( 'laposta_key' ) ?: $key );

Zie de volledige referentie in de hooks en filters-documentatie.

Wynko levert bridges voor Contact Form 7 en HTML Forms — uit tot een beheerder ze inschakelt onder Wynko → Integraties. Diezelfde registry staat open voor je eigen code: implementeer Wynko\Integrations\Integration, voeg hem toe aan het filter wynko_register_integrations, en je bridge verschijnt op dat scherm met eigen instellingen, versie en documentatielink.

add_filter( 'wynko_register_integrations', fn( $list ) => [ ...$list, new My_Wynko_Integration() ] );

Je integratie schrijft naar Laposta via Wynko\Api\Subscribers::create() en hergebruikt zo Wynko’s sleutelresolutie en transport. Zie Integraties voor het volledige contract en een stappenplan.

Open source. De ontwikkeling gebeurt volledig in het openbaar op github.com/FlexBorder/wynko. Issues en pull requests zijn welkom.

Vragen

Veelgestelde vragen

Waar vind ik mijn Laposta API-sleutel?

Laposta beschrijft dit in hun helpcentrum. Plak de sleutel in Wynko → Instellingen — de plugin doet een live verzoek om hem te verifiëren voordat er iets wordt opgeslagen, zodat een ongeldige sleutel meteen wordt geweigerd.

Is het gratis?

Ja. Wynko is gratis te downloaden en te gebruiken via de WordPress-pluginmap, gelicentieerd onder GPLv2, met openbare broncode op GitHub. Elke functie die hier wordt beschreven zit erin — niets wordt achtergehouden achter een betaalmuur of proefperiode.

Hoeveel aanmeldformulieren kan ik hebben?

Zoveel als je nodig hebt. Wynko → Aanmeldformulieren toont elk formulier op de site, met een knop "Formulier toevoegen" om er nog een te maken. Elk formulier is gekoppeld aan zijn eigen Laposta-lijst en heeft zijn eigen instellingen, zodat verschillende formulieren op dezelfde site verschillende lijsten kunnen voeden.

Kan ik de formulieren stylen zodat ze bij mijn thema passen?

Ja, en dat is precies de bedoeling. Wynko levert alleen de minimale layout-CSS en laat kleuren, lettertypes en witruimte over aan je thema. CSS custom properties zijn beschikbaar als je meer controle wilt. Het campagneblok levert helemaal geen front-end CSS mee.

Kunnen bezoekers zich aanmelden via een formulier dat ik in een andere plugin heb gebouwd?

Ja. Wynko levert optionele bridges voor Contact Form 7 en HTML Forms — schakel er een in onder Wynko → Integraties, voeg een vinkje toe aan je bestaande formulier, en geaccepteerde inzendingen worden aangemeld voor de Laposta-lijst die je kiest. Het bridge-systeem is open, dus elke plugin of thema kan ondersteuning voor een andere formulierplugin toevoegen. Zie Integraties.

Wat slaat Wynko op over mijn bezoekers?

Niets meer dan wat het doorgeeft aan Laposta. Aanmeldingen worden niet op je site opgeslagen. Het activiteitenlog registreert dat een formulier is ingediend, of het is gelukt, en om welk formulier het ging — nooit het e-mailadres of iets anders wat de bezoeker heeft ingevuld. Wanneer een bezoeker een formulier indient, worden zijn veldwaarden, IP-adres en verwijzende URL naar Laposta gestuurd zodat de abonnee aan je lijst kan worden toegevoegd. Er wordt verder niets verstuurd, en er wordt niets verstuurd tenzij iemand daadwerkelijk het formulier indient.

Vertraagt het mijn site?

Nee. Zowel campagnegegevens als de velddefinities van een formulier worden standaard 60 minuten gecachet, zodat een pagina niet bij elke weergave Laposta aanroept. Je kunt de cache-duur wijzigen of handmatig vernieuwen.

Wat gebeurt er als ik een veld in Laposta wijzig?

De gecachete kopie van het formulier kan dan even achterlopen. Wynko wacht niet tot de cache vanzelf verloopt: de eerste aanmelding die vastloopt op de verouderde velddefinities triggert meteen een resync met Laposta, en de volgende poging van de bezoeker wordt tegen de actuele velden gevalideerd. Een formulier loopt dus hoogstens één mislukte poging uit de pas voordat het zichzelf herstelt.

Hoe voorkomt Wynko spam?

Meerdere lagen, allemaal voordat iets Laposta bereikt: een verborgen honeypot-veld, rate limiting per bezoeker en per formulier over een voortschrijdend venster, volledige server-side validatie tegen de echte velddefinities van je lijst, en een beveiligingstoken dat aan elk formulier is gekoppeld. Een vervalst token, een onbekend formulier en een gelimiteerd verzoek krijgen allemaal dezelfde reactie, zodat een script dat het eindpunt aftast niet kan achterhalen welke controle het niet doorstond.

Werkt het met multisite?

Ja. Elke site houdt zijn eigen instellingen aan, koppelt aan zijn eigen Laposta-account, houdt zijn eigen log bij en verstuurt zijn eigen meldingen op zijn eigen uurlimiet.

Kan ik de API-sleutel buiten de database houden?

Ja, en dat is de aanbevolen opzet. Definieer WYNKO_API_KEY in wp-config.php of stel hem in als omgevingsvariabele — beide winnen altijd van een opgeslagen waarde. Voeg op multisite het blog-ID toe (WYNKO_API_KEY_3) om één site zijn eigen sleutel te geven. Omdat hij niet in de database staat, verwijdert het deïnstalleren van Wynko hem niet; verwijder de regel zelf wanneer je klaar bent.

Is dit een officiële Laposta-plugin?

Nee. Wynko wordt onafhankelijk ontwikkeld door FlexBorder Co., Ltd en is niet gelieerd aan of goedgekeurd door Laposta. Laposta is een handelsmerk van de betreffende eigenaar.

Kan ik met code aanpassen hoe Wynko zich gedraagt?

Ja. Wynko activeert WordPress action- en filter-hooks — allemaal met het voorvoegsel wynko_ — op elk betekenisvol punt: uitgaande API-verzoeken, campagnegegevens, formulierinzendingen en logregels. Zie Hooks en filters voor de volledige referentie.

Klaar om te beginnen?

Installeer Wynko via de WordPress-pluginmap en koppel je Laposta-account in ongeveer vijf minuten.

Vereist WordPress 6.4 of hoger en PHP 8.0 of hoger · GPLv2 ·Broncode op GitHub