Voor developers
Hooks en filters
Wynko activeert WordPress action- en filter-hooks — allemaal met het
voorvoegsel wynko_ — op de punten waar een developer die Wynko uitrolt
het meest waarschijnlijk iets wil veranderen of erop wil reageren. Actions
laten je code draaien nadat Wynko iets heeft gedaan; filters laten je code
een waarde aanpassen voordat Wynko die gebruikt. Dit staat los van het
instellingenscherm: hooks zijn voor code, niet voor de sitebeheerder die
door een scherm klikt.
API-transport
| Hook |
Type |
Wordt geactiveerd in |
wynko_api_request_args |
filter |
Vóór elk uitgaand verzoek naar Laposta. |
wynko_api_response |
filter |
Op de ruwe respons, voordat Wynko die decodeert. |
wynko_api_status_message |
filter |
Op de leesbare tekst voor een Laposta-fout. |
wynko_api_key |
filter |
Op de opgeloste API-sleutel, ongeacht de bron. |
wynko_api_key_verified |
action |
Na een live sleutelcontrole (geen cache-resultaat). |
// Haal de API-sleutel uit je eigen secrets manager in plaats van de database.
add_filter( 'wynko_api_key', function ( string $key ) {
return my_secrets_manager()->get( 'laposta_key' ) ?: $key;
} );
Campagnes en het campagneblok
| Hook |
Type |
Wordt geactiveerd in |
wynko_campaigns |
filter |
Op de campagnelijst voordat die wordt gecachet en getoond. |
wynko_campaigns_block_content |
filter |
Op de definitieve HTML van het campagneblok. |
wynko_campaigns_synced |
action |
Na een volledige synchronisatie van campagnes, lijsten en velden. |
wynko_cache_busted |
action |
Nadat Wynko’s caches zijn geleegd. |
// Verberg campagnes ouder dan 90 dagen.
add_filter( 'wynko_campaigns', function ( array $campaigns ) {
$cutoff = time() - 90 * DAY_IN_SECONDS;
return array_values( array_filter( $campaigns, function ( $c ) use ( $cutoff ) {
return '' === $c['sent_at'] || strtotime( $c['sent_at'] ) >= $cutoff;
} ) );
} );
| Hook |
Type |
Wordt geactiveerd in |
wynko_form_block_content |
filter |
Op de definitieve HTML van het aanmeldformulierblok. |
wynko_form_fields |
filter |
Op de samengevoegde velddefinities van een formulier. |
wynko_form_submitted_values |
filter |
Op een gesaniteerde inzending, vóór validatie. |
wynko_form_subscriber_data |
filter |
Op de gegevens naar Laposta, vlak voordat ze worden verstuurd. |
wynko_subscriber_data |
filter |
Hetzelfde, maar voor elk codepad dat een abonnee wegschrijft. |
wynko_form_submitted |
action |
Nadat een aanmelding bevestigd is gelukt. |
wynko_form_submit_failed |
action |
Wanneer een aanmelding Laposta niet bereikt. |
wynko_form_redirect_url |
filter |
Op de URL waar een bezoeker na het versturen naartoe gaat. |
wynko_form_config_saved |
action |
Nadat een beheerder de instellingen van een formulier opslaat. |
wynko_form_subscriber_data is de hook om te kennen als je bovenop Wynko
bouwt: hij wordt geactiveerd op de gegevens vlak voordat ze naar Laposta
worden gestuurd, zodat je velden kunt toevoegen of aanpassen zonder de
Laposta-aanroep zelf opnieuw te bouwen.
// Voorzie elke abonnee van de bron die de aanmelding heeft veroorzaakt.
add_filter( 'wynko_form_subscriber_data', function ( array $fields, int $form_id, string $email, string $list_id ) {
$fields['source'] = 'website-formulier';
return $fields;
}, 10, 4 );
wynko_form_subscriber_data wordt alleen geactiveerd voor Wynko’s eigen
aanmeldformulier. Code die abonnees via een ander pad wegschrijft — een
integratie met een andere formulierplugin, of een
directe aanroep van Api\Subscribers::create() — gebruikt in plaats
daarvan wynko_subscriber_data, dat voor elke abonnee-schrijfactie
wordt geactiveerd.
Integraties
| Hook |
Type |
Wordt geactiveerd in |
wynko_register_integrations |
filter |
Op de lijst met geregistreerde integraties, wanneer het Integraties-scherm wordt opgebouwd. |
Elke plugin of thema voegt een object dat
Wynko\Integrations\Integration implementeert toe aan dit filter om
optionele functionaliteit te registreren die een site kan inschakelen via
Wynko → Integraties. Wynko’s eigen gebundelde Contact Form 7- en HTML
Forms-bridges registreren op dezelfde manier — zie hun broncode voor een
uitgewerkt voorbeeld, en zorg dat je registratie degradeert tot een no-op
(geen fatale fout) op een site waar Wynko ontbreekt.
Lijsten, velden en synchronisatie
| Hook |
Type |
Wordt geactiveerd in |
wynko_lists |
filter |
Op lijstopties voordat ze worden gecachet. |
wynko_fields |
filter |
Op de velddefinities van één lijst voordat ze worden gecachet. |
wynko_list_gone |
action |
De eerste keer dat een lijst die een formulier nog gebruikt, ontbreekt in Laposta. |
Activiteitenlog en meldingen
| Hook |
Type |
Wordt geactiveerd in |
wynko_log_added |
action |
Nadat een logregel is vastgelegd. |
wynko_notification_recipients |
filter |
Op de ontvangerslijst van de meldingsmail. |
wynko_notification_sent |
action |
Nadat een kritieke foutmelding is verstuurd. |
// Stuur elke error-logregel door naar je eigen alerting-tool.
add_action( 'wynko_log_added', function ( string $level, string $message ) {
if ( 'error' === $level ) {
my_alerting_integration()->notify( $message );
}
} );