Hookit ja suodattimet kehittäjille

5 min read

Laajenna tai mukauta TTSWP:tä WordPressin vakiohookeilla. Lisää nämä teemasi functions.php-tiedostoon tai mukautettuun lisäosaan. Jokainen hookki on vakaa ja dokumentoitu.

Filter-hookit

Muokkaa tekstiä ennen synteesiä

Käytä tätä sisällön siivoamiseen, mukautetun merkinnän lisäämiseen tai osioiden poistamiseen ennen äänen luomista.

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

Ohita ääni tietyille julkaisuille

Palauta true ohittaaksesi julkaisun automaattisesta luomisesta.

add_filter( 'mementor_tts_skip_auto_generation', function( $skip, $post_id ) {
    // Ohita julkaisut "arkisto"-kategoriassa
    if ( has_category( 'archive', $post_id ) ) {
        return true;
    }
    return $skip;
}, 10, 2 );

Muuta välimuistiavainta

Muokkaa tapaa, jolla TTSWP luo äänivälimustinsa avaimen. Hyödyllinen tilanteissa, joissa haluat erilaisen välimuistin käyttäjäkohtaisesti tai mukautetun kontekstin mukaan.

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

Mukauta oletusääntä

Vaihda, mitä ääntä käytetään tietyille julkaisuille.

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

Renderöi sarakkeen merkintä

Monikielisten integraatioiden käyttämä hookki mukautetun sarakesisällön renderöimiseen julkaisulistassa.

add_filter( 'mementor_tts_render_column', function( $rendered, $post_id, $audio_exists, $audio_url, $processing, $post_status ) {
    // Palauta true oman merkinnän renderöinnin jälkeen ohittaaksesi oletuksen
    return $rendered;
}, 10, 6 );

Action-hookit

Ennen äänen luomista

add_action( 'mementor_tts_before_generate', function( $post_id, $text, $voice ) {
    // Kirjaa lokiin, ilmoita tai valmistele jokin asia
}, 10, 3 );

Äänen luomisen jälkeen

add_action( 'mementor_tts_audio_generated', function( $post_id, $audio_url, $characters ) {
    // Ilmoita, päivitä mukautettu kenttä tai lähetä ulkoiseen jonoon
}, 10, 3 );

Äänen poistamisen jälkeen

add_action( 'mementor_tts_audio_deleted', function( $post_id ) {
    // Siivoa liittyvät tiedot
} );

Sivuston yhdistämisen yhteydessä

add_action( 'mementor_tts_site_connected', function( $site_token ) {
    // Ilmoita tiimillesi, lähetä tervetulosähköposti jne.
} );

Määriteltävät vakiot

Määrittele tiedostossa wp-config.php:

Ota virheenkorjausloki käyttöön

define( 'MEMENTOR_TTS_DEBUG', true );

Kun tämä on asetettu, yksityiskohtaiset lokit kirjoitetaan tiedostoon wp-content/debug.log.

Ohita API-päätepiste

Testi- tai staging-ympäristöjä varten:

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

Yleisiä mukautusreseptejä

Lisää julkaisukohtainen äänivalitsin lohkoeditorin sivupalkkiin

Lisäosa lisää jo TTS-paneelin editoriin. Voit laajentaa sitä:

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

Lähetä jokainen luonti Slackiin

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( 'Luotu %d merkkiä julkaisulle %s: %s', $characters, get_the_title( $post_id ), $audio_url ),
        ] ),
    ] );
}, 10, 3 );

Vakaustakuu

Tällä sivulla listatut hookit ovat vakaata julkista API:ta. Emme poista tai nimeä niitä uudelleen antamatta vähintään yhden pääversion ilmoitusta muutoslokissa ja vanhentumisvaivausta edelliselle pääversiolle.

Aiheeseen liittyvät sivut