Utvid eller tilpass TTSWP med standard WordPress-hooks. Legg disse til i temafilen functions.php eller i et egendefinert plugin. Alle hooks er stabile og dokumenterte.
Filterhooks
Endre teksten før syntese
Bruk dette til å rydde opp innhold, sette inn egendefinert markup, eller fjerne seksjoner før lyden genereres.
add_filter( 'mementor_tts_pre_synthesize_text', function( $text, $post_id ) {
// Dine endringer
$text = str_replace( 'WP', 'WordPress', $text );
return $text;
}, 10, 2 );
Hopp over lyd for spesifikke innlegg
Returner true for å hoppe over et innlegg fra autogenerering.
add_filter( 'mementor_tts_skip_auto_generation', function( $skip, $post_id ) {
// Hopp over innlegg i kategorien "archive"
if ( has_category( 'archive', $post_id ) ) {
return true;
}
return $skip;
}, 10, 2 );
Endre cache-nøkkelen
Overstyrer hvordan TTSWP genererer sin lydcache-nøkkel. Nyttig når du vil ha ulik caching per bruker eller per egendefinert kontekst.
add_filter( 'mementor_tts_audio_cache_key', function( $key, $text, $voice ) {
return $key . '_' . get_current_user_id();
}, 10, 3 );
Tilpass standardstemmen
Velg hvilken stemme som brukes for spesifikke innlegg.
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 kolonnemarkup
Brukes av flerspraklige integrasjoner for å rendre egendefinert kolonneinnhold i innleggslisten.
add_filter( 'mementor_tts_render_column', function( $rendered, $post_id, $audio_exists, $audio_url, $processing, $post_status ) {
// Returner true etter at du har rendret din egen markup for å hoppe over standarden
return $rendered;
}, 10, 6 );
Actionhooks
Før lyd genereres
add_action( 'mementor_tts_before_generate', function( $post_id, $text, $voice ) {
// Logg, varsle, eller forbered noe
}, 10, 3 );
Etter at lyd er generert
add_action( 'mementor_tts_audio_generated', function( $post_id, $audio_url, $characters ) {
// Varsle, oppdater et egendefinert felt, send til en ekstern kø
}, 10, 3 );
Etter at lyd er slettet
add_action( 'mementor_tts_audio_deleted', function( $post_id ) {
// Rydd opp relaterte data
} );
Ved nettstedstilkobling
add_action( 'mementor_tts_site_connected', function( $site_token ) {
// Varsle teamet ditt, send en velkomst-e-post, osv.
} );
Konstanter du kan definere
Definer i wp-config.php:
Aktiver feilsøkingslogging
define( 'MEMENTOR_TTS_DEBUG', true );
Nar denne er satt, skrives detaljerte logger til wp-content/debug.log.
Overstyr API-endepunkt
For staging- eller testmiljoer:
define( 'MEMENTOR_TTS_API_URL', 'https://staging.ttswp.com' );
Vanlige tilpasningseksempler
Legg til en stemmevalg per innlegg i blokkredaktorsidefeltet
Pluginet legger allerede til et TTS-panel i editoren. Du kan utvide det:
add_filter( 'mementor_tts_editor_sidebar_fields', function( $fields ) {
$fields[] = [
'key' => 'speaking_speed',
'label' => 'Talehastighet',
'type' => 'number',
];
return $fields;
} );
Send hver generering til Slack
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( 'Genererte %d tegn for innlegg %s: %s', $characters, get_the_title( $post_id ), $audio_url ),
] ),
] );
}, 10, 3 );
Stabilitetsloftet
Hooks som er listet pa denne siden er stabile, offentlige API-er. Vi fjerner eller gir dem nytt navn bare etter minst ett varsel om stor versjonendring i endringsloggen, og med en avvikslingsadvarsel for den forrige hovedversjonen.