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;
	} ) );
} );

Aanmeldformulieren

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 );
	}
} );