Hooks en filters voor ontwikkelaars

5 min read

Breid TTSWP uit of pas het aan met standaard WordPress-hooks. Voeg deze toe aan de functions.php van je thema of een aangepaste plugin. Elke hook is stabiel en gedocumenteerd.

Filter-hooks

Tekst aanpassen voor synthese

Gebruik dit om inhoud op te schonen, aangepaste opmaak toe te voegen of secties te verwijderen voor het genereren van audio.

add_filter( 'mementor_tts_pre_synthesize_text', function( $text, $post_id ) {
    // Jouw aanpassingen
    $text = str_replace( 'WP', 'WordPress', $text );
    return $text;
}, 10, 2 );

Audio overslaan voor specifieke berichten

Geef true terug om een bericht over te slaan bij automatisch genereren.

add_filter( 'mementor_tts_skip_auto_generation', function( $skip, $post_id ) {
    // Berichten in de categorie "archief" overslaan
    if ( has_category( 'archive', $post_id ) ) {
        return true;
    }
    return $skip;
}, 10, 2 );

Cache-sleutel wijzigen

Overschrijf hoe TTSWP zijn audio-cache-sleutel genereert. Handig wanneer je per gebruiker of per aangepaste context andere caching wilt.

add_filter( 'mementor_tts_audio_cache_key', function( $key, $text, $voice ) {
    return $key . '_' . get_current_user_id();
}, 10, 3 );

Standaardstem aanpassen

Wijzig welke stem wordt gebruikt voor specifieke berichten.

add_filter( 'mementor_tts_voice_for_post', function( $voice_id, $post_id ) {
    if ( get_post_type( $post_id ) === 'podcast' ) {
        return 'my-podcast-voice-id';
    }
    return $voice_id;
}, 10, 2 );

Kolomopmaak weergeven

Gebruikt door meertalige integraties om aangepaste kolominhoud te renderen in de berichtenlijst.

add_filter( 'mementor_tts_render_column', function( $rendered, $post_id, $audio_exists, $audio_url, $processing, $post_status ) {
    // Geef true terug na het renderen van je eigen opmaak om de standaard over te slaan
    return $rendered;
}, 10, 6 );

Action-hooks

Voor het genereren van audio

add_action( 'mementor_tts_before_generate', function( $post_id, $text, $voice ) {
    // Loggen, melden of iets voorbereiden
}, 10, 3 );

Na het genereren van audio

add_action( 'mementor_tts_audio_generated', function( $post_id, $audio_url, $characters ) {
    // Melden, een aangepast veld bijwerken, naar een externe wachtrij sturen
}, 10, 3 );

Na het verwijderen van audio

add_action( 'mementor_tts_audio_deleted', function( $post_id ) {
    // Gerelateerde gegevens opruimen
} );

Bij het verbinden van de site

add_action( 'mementor_tts_site_connected', function( $site_token ) {
    // Je team informeren, een welkomstmail sturen, etc.
} );

Constanten die je kunt definiëren

Definieer in wp-config.php:

Debug-logging inschakelen

define( 'MEMENTOR_TTS_DEBUG', true );

Als dit is ingesteld, worden uitgebreide logs geschreven naar wp-content/debug.log.

API-eindpunt overschrijven

Voor staging- of testomgevingen:

define( 'MEMENTOR_TTS_API_URL', 'https://staging.ttswp.com' );

Veelgebruikte aanpassingsrecepten

Een stem-kiezer per bericht toevoegen aan de blokeditor-zijbalk

De plugin voegt al een TTS-paneel toe aan de editor. Je kunt dit uitbreiden:

add_filter( 'mementor_tts_editor_sidebar_fields', function( $fields ) {
    $fields[] = [
        'key' => 'speaking_speed',
        'label' => 'Spreeksnelheid',
        'type' => 'number',
    ];
    return $fields;
} );

Elk gegenereerd audiobestand naar Slack sturen

add_action( 'mementor_tts_audio_generated', function( $post_id, $audio_url, $characters ) {
    wp_remote_post( 'https://hooks.slack.com/your-webhook', [
        'body' => json_encode( [
            'text' => sprintf( 'Gegenereerd %d tekens voor bericht %s: %s', $characters, get_the_title( $post_id ), $audio_url ),
        ] ),
    ] );
}, 10, 3 );

Stabiliteitstoezegging

Hooks op deze pagina zijn stabiele publieke API. We verwijderen of hernoemen ze niet zonder minimaal een melding in de changelog voor een grote versie en een deprecatiewaarschuwing voor de vorige grote versie.

Gerelateerde pagina's